53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace MeowmentDebugTool.Editor
|
|
{
|
|
/// <summary>
|
|
/// 自动添加 MEOWMENT_DEBUG_TOOL 宏定义
|
|
/// </summary>
|
|
[InitializeOnLoad]
|
|
public static class DefineSymbolsManager
|
|
{
|
|
private const string DEFINE_SYMBOL = "MEOWMENT_DEBUG_TOOL";
|
|
|
|
static DefineSymbolsManager()
|
|
{
|
|
AddDefineSymbol();
|
|
}
|
|
|
|
private static void AddDefineSymbol()
|
|
{
|
|
var target = EditorUserBuildSettings.selectedBuildTargetGroup;
|
|
|
|
// 获取当前已定义的符号
|
|
string definesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(target);
|
|
var defines = definesString.Split(';');
|
|
|
|
// 检查是否已存在
|
|
bool exists = false;
|
|
foreach (var define in defines)
|
|
{
|
|
if (define.Trim() == DEFINE_SYMBOL)
|
|
{
|
|
exists = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 如果不存在则添加
|
|
if (!exists)
|
|
{
|
|
if (!string.IsNullOrEmpty(definesString))
|
|
{
|
|
definesString += ";";
|
|
}
|
|
definesString += DEFINE_SYMBOL;
|
|
|
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(target, definesString);
|
|
Debug.Log($"[MeowmentDebugTool] 已添加宏定义: {DEFINE_SYMBOL}");
|
|
}
|
|
}
|
|
}
|
|
}
|