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); }
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(); }
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>(); }
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(); }
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(); }
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; }
public IModButton AddButton(IModButton button) { return(AddButton(button, button.Index)); }
public virtual IModButton AddButton(IModButton button, int index) { return((IModButton)AddButton((IModButtonBase)button, index)); }
protected ModFieldInput(TwoButtonToggleElement toggle, IModMenu menu, IModInputMenu inputMenu) : base(toggle, menu) { Button = new ModTitleButton(toggle.GetValue <Button>("_buttonTrue"), menu); Subscribe(Button); InputMenu = inputMenu; }