MeowmentDebugTool/Packages/com.bywaystudios.meowmentdebugtool/Editor/DefineSymbolsManager.cs
2025-12-19 12:14:42 +08:00

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}");
}
}
}
}