47 lines
1.4 KiB
C#
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")}");
|
||
|
}
|
||
|
}
|
||
|
}
|