92 lines
2.3 KiB
C#
92 lines
2.3 KiB
C#
![]() |
/*******************************************************************************
|
|||
|
* 版本声明:v1.0.0
|
|||
|
* 类 名 称:EditorScriptsConfig
|
|||
|
* 创建日期:2020-04-13 14:52:46
|
|||
|
* 作者名称:Kimch
|
|||
|
* 功能描述:脚本模板-配置
|
|||
|
******************************************************************************/
|
|||
|
|
|||
|
using System.IO;
|
|||
|
using UnityEditor;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace KF.ScriptHelper
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 脚本模板
|
|||
|
/// </summary>
|
|||
|
class EditorScriptsConfig : ScriptableObject
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 作者
|
|||
|
/// </summary>
|
|||
|
[Header("作者")]
|
|||
|
public string author = "Author";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 命名空间
|
|||
|
/// </summary>
|
|||
|
[Header("名称空间")]
|
|||
|
public string nameSpace = "NameSpace.Author";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
[Header("公司名称")]
|
|||
|
public string company = "DefaultCompany";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 模板路径
|
|||
|
/// </summary>
|
|||
|
[Header("模板路径")]
|
|||
|
public string templatePath = "Assets/AFramework/Editor/Templates/";
|
|||
|
|
|||
|
private const string EditorScriptsConfigFile = "EditorScriptsConfigFile.asset";
|
|||
|
|
|||
|
private static string _EditorScriptsConfigCsPath;
|
|||
|
public static string EditorScriptsConfigCsPath
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(_EditorScriptsConfigCsPath))
|
|||
|
{
|
|||
|
return _EditorScriptsConfigCsPath;
|
|||
|
}
|
|||
|
|
|||
|
var result = Directory.GetFiles("Assets/AFramework/Editor/Scripts/", "EditorScriptsConfig.cs", SearchOption.AllDirectories);
|
|||
|
if (result.Length >= 1)
|
|||
|
{
|
|||
|
_EditorScriptsConfigCsPath = Path.GetDirectoryName(result[0]);
|
|||
|
_EditorScriptsConfigCsPath = _EditorScriptsConfigCsPath.Replace('\\', '/');
|
|||
|
_EditorScriptsConfigCsPath = _EditorScriptsConfigCsPath.Replace("/Scripts", "");
|
|||
|
|
|||
|
_EditorScriptsConfigCsPath = _EditorScriptsConfigCsPath + "/" + EditorScriptsConfigFile;
|
|||
|
}
|
|||
|
|
|||
|
return _EditorScriptsConfigCsPath;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static EditorScriptsConfig _Instance;
|
|||
|
public static EditorScriptsConfig Instance
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_Instance)
|
|||
|
{
|
|||
|
return _Instance;
|
|||
|
}
|
|||
|
|
|||
|
_Instance = AssetDatabase.LoadAssetAtPath<EditorScriptsConfig>(EditorScriptsConfigCsPath);
|
|||
|
if (_Instance == null)
|
|||
|
{
|
|||
|
_Instance = CreateInstance<EditorScriptsConfig>();
|
|||
|
AssetDatabase.CreateAsset(_Instance, EditorScriptsConfigCsPath);
|
|||
|
}
|
|||
|
|
|||
|
return _Instance;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|