/// <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);
            }
        }
Exemple #2
0
        /// <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;
            }
        }