shaoxiadiablo/Assets/AFramework/Editor/Scripts/EditorScriptsConfig.cs

92 lines
2.3 KiB
C#
Raw Normal View History

2025-05-18 01:04:31 +08:00
/*******************************************************************************
* 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;
}
}
}
}