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