/// <summary> /// Invoked when an item from the main editor menu is selected /// </summary> /// <param name="menu"></param> /// <param name="menuItem"></param> /// <param name="itemIndex"></param> private void EditorMenu_OnItemSelect(Menu menu, MenuItem menuItem, int itemIndex) { // If the sender isn't the main editor menu... if (menu != EditorMenu) { return; } if ((menuItem.ItemData as string) == "handling_reset") { MenuResetPresetButtonPressed?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Setup the menu /// </summary> private void InitializeMenu() { if (editorMenu == null) { editorMenu = new Menu(ScriptName, "Editor"); // When the value of a MenuDynamicListItem is changed editorMenu.OnDynamicListItemCurrentItemChange += (menu, dynamicListItem, oldValue, newValue) => { string id = dynamicListItem.ItemData as string; MenuPresetValueChanged?.Invoke(id, newValue); }; editorMenu.OnMenuOpen += (menu) => { UpdateWheelValues(); UpdateEditorMenu((currentPreset.WheelSize == 0.0f), (currentPreset.WheelWidth == 0.0f)); }; // When a MenuItem is selected editorMenu.OnItemSelect += (menu, menuItem, itemIndex) => { // If the selected item is the reset button if (menuItem.ItemData as string == ResetID) { MenuResetPresetButtonPressed.Invoke(this, EventArgs.Empty); } else if (menuItem.ItemData as string == SaveID) { SavePreset(); } else if (menuItem.ItemData as string == LoadID) { LoadPreset(); UpdateWheelValues(); } }; } UpdateEditorMenu(); if (menuController == null) { menuController = new MenuController(); MenuController.AddMenu(editorMenu); MenuController.MenuAlignment = MenuController.MenuAlignmentOption.Right; MenuController.MenuToggleKey = (Control)toggleMenu; MenuController.EnableMenuToggleKeyOnController = false; MenuController.MainMenu = editorMenu; } }