using AlicizaX.Editor; using UnityEditor; using UnityEngine; namespace AlicizaX.Editor { internal static class EventScriptingDefineSymbols { private const string MenuPath = "Tools/AlicizaX/Enable Event 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")}"); } } }