shaoxiadiablo/Assets/AFramework/Editor/Scripts/EditorScriptsConfig.cs
2025-05-18 01:04:31 +08:00

92 lines
2.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*******************************************************************************
* 版本声明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;
}
}
}
}