#if UNITY_EDITOR using UnityEditor; public class MyToggleMenu { const string Menu_Item_Is_Auto_Reload_Xxx = "Window/MyTools/IsAutoReloadXxx"; static int _isAutoReloadXxx = -1; static bool IsAutoReloadXxx { get { if (-1 == _isAutoReloadXxx) _isAutoReloadXxx = EditorPrefs.GetInt(Menu_Item_Is_Auto_Reload_Xxx, 0); return 1 == _isAutoReloadXxx; } set { var newValue = value ? 1 : 0; if (_isAutoReloadXxx != newValue) { _isAutoReloadXxx = newValue; EditorPrefs.SetInt(Menu_Item_Is_Auto_Reload_Xxx, newValue); } } } [MenuItem(Menu_Item_Is_Auto_Reload_Xxx, true)] static bool MenuItemValidator_IsAutoReloadXxx() { Menu.SetChecked(Menu_Item_Is_Auto_Reload_Xxx, IsAutoReloadXxx); var menuItemEnable = !EditorApplication.isCompiling; return menuItemEnable; } [MenuItem(Menu_Item_Is_Auto_Reload_Xxx, false)] static void MenuItem_IsAutoReloadXxx() { IsAutoReloadXxx = !Menu.GetChecked(Menu_Item_Is_Auto_Reload_Xxx); } } #endif