void Awake() { _manager = GetComponent <MenuManager>(); // This is just the option select prefab in action. MenuConfig.Builder builder = new MenuConfig.Builder(false, true, PaletteConfig); PanelConfig.Builder panel = new PanelConfig.Builder(MENU_KEY_MAIN); panel.AddPanelObject(new OptionSelectConfig.Builder("quality", OptionSelectPrefab) .SetDisplayText("Quality") .AddOptionStrings(QualitySettings.names) .SetDefaultOptionIndex(QualitySettings.GetQualityLevel()) .SetOptionSelectedHandler(delegate(OptionSelectManager manager, int newIndex, string optionString) { QualitySettings.SetQualityLevel(newIndex); })); panel.AddPanelObject(new OptionSelectConfig.Builder("something", OptionSelectPrefab) .SetDisplayText("Something") .AddOptionString("cool", false) .AddOptionString("off", false) .AddOptionString("out of line", false) .AddOptionString("right", true) .AddOptionString("wrong", false) .SetOptionSelectedHandler(delegate(OptionSelectManager manager, int newIndex, string optionString) { Debug.Log($"Selected {optionString}"); })); builder.AddPanelConfig(panel); CreateMenu(_manager, builder); }
void Awake() { _manager = GetComponent <MenuManager>(); MenuConfig.Builder builder = new MenuConfig.Builder(false, false, PaletteConfig); builder.AddPanelConfig(new PanelConfig.Builder(MENU_KEY_MAIN) .AddPanelObject( new ButtonConfig.Builder("do nothing", ButtonPrefab) .SetDisplayText("Do Nothing")) .AddPanelObject( new ButtonConfig.Builder("show other", ButtonPrefab) .SetDisplayText("Show Other Menu") .SetButtonPressedHandler(delegate(ButtonManager manager) { MenuStack.Shared.PushAndShowMenu(HookedMenu); }).Build()), true); CreateMenu(_manager, builder); }
void Awake() { _manager = GetComponent <MenuManager>(); // This is an example of using a builder to make the menu config. // It's more verbose, but it lets you easily change the different // values in explicit ways. MenuConfig.Builder builder = new MenuConfig.Builder(true, true, PaletteConfig); MenuAttributes noLock = MenuAttributes.StandardPauseMenu(); noLock.cursorLockMode = UnityEngine.CursorLockMode.None; builder.SetMenuAttributes(noLock); builder.AddPanelConfig(new PanelConfig.Builder(MENU_KEY_MAIN) .AddPanelObject( new ButtonConfig.Builder("resume", ButtonPrefab) .SetDisplayText("Resume") .SetButtonPressedHandler(delegate(ButtonManager manager) { _manager.ExitMenu(); })) .AddPanelObject( new ButtonConfig.Builder("options", ButtonPrefab) .SetDisplayText("Options") .SetButtonPressedHandler(delegate(ButtonManager manager) { _manager.PushPanel(MENU_KEY_OPTIONS); })) .AddPanelObject( new ButtonConfig.Builder("restart", ButtonPrefab) .SetDisplayText("Restart") .SetButtonPressedHandler(delegate(ButtonManager manager) { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); })) .AddPanelObject( new ButtonConfig.Builder("exit", ButtonPrefab) .SetDisplayText("Exit") .SetButtonPressedHandler(delegate(ButtonManager manager) { _manager.ExitGame(); })), true); builder.AddPanelConfig(MenuConfigHelper.StandardOptionsPanel(MENU_KEY_OPTIONS, _manager, ButtonPrefab, SliderPrefab, DropdownPrefab, TogglePrefab)); CreateMenu(_manager, builder); }
void Awake() { _manager = GetComponent <MenuManager>(); MenuConfig.Builder builder = new MenuConfig.Builder(false, false, PaletteConfig); builder.AddPanelConfig(new PanelConfig.Builder(MENU_KEY_MAIN) .AddPanelObject( new ButtonConfig.Builder("show other", ButtonPrefab) .SetDisplayText("Show Other Menu") .SetButtonPressedHandler(delegate(ButtonManager manager) { _manager.PushPanel("Other"); }).Build()), true); builder.AddPanelConfig(new PanelConfig.Builder("Other") .SetPrefabOverride(CustomBackPanel) .SetCustomNavigation((PanelManager manager, List <Selectable> selectables) => { SamplePanelManager pm = manager as SamplePanelManager; selectables.Add(pm.BackSelectable); SetVerticalNavigation(selectables); }) .AddPanelObject( new ButtonConfig.Builder("do nothing", ButtonPrefab) .SetDisplayText("Show Empty Menu") .SetButtonPressedHandler(delegate(ButtonManager manager) { _manager.PushPanel("Third"); }))); builder.AddPanelConfig(new PanelConfig.Builder("Third") .SetPrefabOverride(CustomBackPanel) .SetDefaultSelectableCallback((PanelManager manager, List <Selectable> selectables) => { SamplePanelManager pm = manager as SamplePanelManager; return(pm.BackSelectable.gameObject); })); CreateMenu(_manager, builder); }