Esempio n. 1
0
        public override IModButton AddButton(IModButton button, int index)
        {
            var modButton       = base.AddButton(button, index);
            var fadeControllers = Buttons.OrderBy(x => x.Index).Select(x => new CanvasGroupFadeController
            {
                group = x.Button.GetComponent <CanvasGroup>()
            });

            _anim.SetValue("_buttonFadeControllers", fadeControllers.ToArray());
            return(modButton);
        }
Esempio n. 2
0
        public virtual IModButton AddButton(IModButton button, int index)
        {
            var transform = button.Button.transform;
            var scale     = transform.localScale;

            transform.parent = _layoutGroup.transform;
            button.Index     = index;
            button.Initialize(this);
            Buttons.Add(button);
            button.Button.transform.localScale = scale;
            return(button);
        }
        private void CreateMenuTab()
        {
            var options = Helper.Menus.MainMenu.OptionsMenu;

            serverTab = options.InputTab.Copy("MULTIPLAYER");
            options.AddTab(serverTab);

            serverTab.Buttons.ForEach(x => x.Hide());
            serverTab.Menu.GetComponentsInChildren <Selectable>().ToList().ForEach(x => x.gameObject.SetActive(false));
            serverTab.Menu.GetValue <TooltipDisplay>("_tooltipDisplay").GetComponent <Text>().color = Color.clear;

            _buttonTemplate = options.InputTab.GetButton("UIElement-RemapControls");

            hostButton = _buttonTemplate.Copy("Host Server and Join");
            hostButton.Button.enabled = true;
            hostButton.OnClick       += () => StartHost();

            clientButton = _buttonTemplate.Copy("Join Server");
            clientButton.Button.enabled = true;
            clientButton.OnClick       += () => StartClient();

            serverButton = _buttonTemplate.Copy("Host Server Only");
            serverButton.Button.enabled = true;
            serverButton.OnClick       += StartServer;

            cancelButton = _buttonTemplate.Copy("Cancel");
            cancelButton.Hide();
            cancelButton.OnClick += OnCancel;

            serverTab.AddButton(serverButton);
            serverTab.AddButton(clientButton);
            serverTab.AddButton(hostButton);
            serverTab.AddButton(cancelButton);

            ModTextInput _inputTemplate = new ModTextInput(options.InputTab.ToggleInputs[0].Toggle, serverTab, Helper.Menus.InputMenu);

            textInput       = _inputTemplate.Copy("Name: ");
            textInput.Value = networkManager._playerName;
            serverTab.AddTextInput(textInput);

            textInput.OnChange += (value) => networkManager._playerName = value;

            var button = Helper.Menus.MainMenu.ResumeExpeditionButton.Duplicate("SET UP MULTIPLAYER", 1);

            Helper.Menus.MainMenu.SelectFirst();
            Helper.Menus.MainMenu.UpdateNavigation();
            button.OnClick += () => serverTab.Open();

            serverTab.SelectFirst();
            serverTab.UpdateNavigation();
        }
Esempio n. 4
0
        private void CreateModMenuTemplate(IModOWMenu mainMenu)
        {
            var remapControlsButton = mainMenu.OptionsMenu.InputTab.GetTitleButton("UIElement-RemapControls");
            var buttonTemplate      = Object.Instantiate(remapControlsButton.Button);

            buttonTemplate.gameObject.AddComponent <DontDestroyOnLoad>();
            _modButtonTemplate = new ModTitleButton(buttonTemplate, mainMenu);
            _modButtonTemplate.Button.enabled = false;

            var submitActionMenu = remapControlsButton.Button.GetComponent <SubmitActionMenu>();
            var rebindingMenu    = submitActionMenu.GetValue <Menu>("_menuToOpen");
            var rebindingCanvas  = rebindingMenu.transform.parent;

            _modMenuTemplate = Object.Instantiate(rebindingCanvas);
            _modMenuTemplate.gameObject.AddComponent <DontDestroyOnLoad>();
        }
Esempio n. 5
0
        public void Initialize(SettingsManager settingsManager)
        {
            var pauseMenuManager = settingsManager.GetComponent <PauseMenuManager>();
            var optionsMenu      = settingsManager.GetValue <TabbedMenu>("_mainSettingsMenu");

            OptionsMenu.Initialize(optionsMenu);

            var pauseMenu = pauseMenuManager.GetValue <Menu>("_pauseMenu");

            base.Initialize(pauseMenu);

            ResumeButton  = Buttons.Single(x => x.Button.name == "Button-Unpause");
            OptionsButton = Buttons.Single(x => x.Button.name == "Button-Options");
            QuitButton    = Buttons.Single(x => x.Button.name == "Button-ExitToMainMenu");

            InvokeOnInit();
        }
Esempio n. 6
0
        public void Initialize(TitleScreenManager titleScreenManager)
        {
            _anim = titleScreenManager.GetComponent <TitleAnimationController>();
            var menu = titleScreenManager.GetValue <Menu>("_mainMenu");

            Initialize(menu);

            ResumeExpeditionButton = GetTitleButton("Button-ResumeGame");
            NewExpeditionButton    = GetTitleButton("Button-NewGame");
            OptionsButton          = GetTitleButton("Button-Options");
            ViewCreditsButton      = GetTitleButton("Button-Credits");
            SwitchProfileButton    = GetTitleButton("Button-Profile");
            QuitButton             = GetTitleButton("Button-Exit");

            var tabbedMenu = titleScreenManager.GetValue <TabbedMenu>("_optionsMenu");

            OptionsMenu.Initialize(tabbedMenu);
            InvokeOnInit();
        }
Esempio n. 7
0
        protected ModInputField(TwoButtonToggleElement toggle, IModMenu menu, IModInputMenu inputMenu) : base(toggle, menu)
        {
            ToggleElement = toggle;
            InputMenu     = inputMenu;

            Button          = new ModButton(toggle.GetValue <Button>("_buttonTrue"), menu);
            Button.OnClick += Open;

            var noButton = ToggleElement.GetValue <Button>("_buttonFalse");

            noButton.transform.parent.gameObject.SetActive(false);

            var buttonParent = Button.Button.transform.parent;
            var layoutGroup  = buttonParent.parent.GetComponent <HorizontalLayoutGroup>();

            layoutGroup.childControlWidth     = true;
            layoutGroup.childForceExpandWidth = true;

            buttonParent.GetComponent <LayoutElement>().preferredWidth = 100;
        }
Esempio n. 8
0
 public IModButton AddButton(IModButton button)
 {
     return(AddButton(button, button.Index));
 }
Esempio n. 9
0
 public virtual IModButton AddButton(IModButton button, int index)
 {
     return((IModButton)AddButton((IModButtonBase)button, index));
 }
Esempio n. 10
0
 protected ModFieldInput(TwoButtonToggleElement toggle, IModMenu menu, IModInputMenu inputMenu) : base(toggle, menu)
 {
     Button = new ModTitleButton(toggle.GetValue <Button>("_buttonTrue"), menu);
     Subscribe(Button);
     InputMenu = inputMenu;
 }