void Awake() { _manager = GetComponent <MenuManager>(); // This is an example of how you can create a MenuConfig object without a builder. // It works fine for when you're using the default options, but gets trickier if you // want to conditionally show options or configure some optional parameters in the // constructor. I will not be considering order when adding extra parameters to the // constructor, as I don't want to make a breaking change. // // It's strongly recommended that you use the Builder. // See SampleInGameMenu for an example. MenuConfig config = new MenuConfig(false, true, false, MENU_KEY_MAIN, PaletteConfig, new PanelConfig[] { new PanelConfig(MENU_KEY_MAIN, KEY_RESUME, new PanelObjectConfig[] { new ButtonConfig(new PanelObjectConfig.InitObject(KEY_RESUME, ButtonPrefab), "Play Game", delegate(ButtonManager manager) { Debug.Log("Play game pressed."); }), new TextConfig(new PanelObjectConfig.InitObject("other_text", TextPrefab), "Just Some Text"), new ButtonConfig(new PanelObjectConfig.InitObject(KEY_OPTIONS, ButtonPrefab), "Options", delegate(ButtonManager manager) { _manager.PushPanel(MENU_KEY_OPTIONS); }), new ButtonConfig(new PanelObjectConfig.InitObject(KEY_EXIT, ButtonPrefab), "Exit", delegate(ButtonManager manager) { _manager.ExitGame(); }) }), MenuConfigHelper.StandardOptionsPanel(MENU_KEY_OPTIONS, _manager, ButtonPrefab, SliderPrefab, DropdownPrefab, TogglePrefab).Build(), }); CreateMenu(_manager, config); }
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); }