com.alicizax.unity/Editor/Misc/EventScriptingDefineSymbols.cs
2025-09-02 16:27:58 +08:00

47 lines
1.4 KiB
C#

using AlicizaX.Editor;
using UnityEditor;
using UnityEngine;
namespace AlicizaX.Editor
{
internal static class EventScriptingDefineSymbols
{
private const string MenuPath = "Tools/AlicizaX/Enable Strict Check";
private const string DefineSymbol = "Event_StrictCheck";
[MenuItem(MenuPath)]
private static void ToggleStrictCheck()
{
bool enabled = IsEnabled();
SetEnabled(!enabled);
}
[MenuItem(MenuPath, true)]
private static bool ToggleStrictCheckValidate()
{
Menu.SetChecked(MenuPath, IsEnabled());
return true;
}
private static bool IsEnabled()
{
return ScriptingDefineSymbols.HasScriptingDefineSymbol(EditorUserBuildSettings.selectedBuildTargetGroup, DefineSymbol);
}
private static void SetEnabled(bool enabled)
{
var targetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
if (enabled)
{
ScriptingDefineSymbols.AddScriptingDefineSymbol(targetGroup, DefineSymbol);
}
else
{
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(targetGroup, DefineSymbol);
}
Debug.Log($"[EventKit] Strict Check {(enabled ? "Enabled" : "Disabled")}");
}
}
}