Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }