コード例 #1
0
    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);
    }
コード例 #2
0
    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);
    }
コード例 #3
0
ファイル: SampleInGameMenu.cs プロジェクト: khutchins/menutee
    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);
    }
コード例 #4
0
    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);
    }