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(); }
public void Initialize(Menu menu, IModToggleInput toggleTemplate, IModSliderInput sliderTemplate, IModTextInput textInputTemplate, IModNumberInput numberInputTemplate, IModComboInput comboInputTemplate) { _toggleTemplate = toggleTemplate; _sliderTemplate = sliderTemplate; _textInputTemplate = textInputTemplate; _numberInputTemplate = numberInputTemplate; _comboInputTemplate = comboInputTemplate; base.Initialize(menu); Title = Manifest.Name; AddInputs(); }
public void Initialize(Menu menu, IModToggleInput toggleTemplate, IModSliderInput sliderTemplate, IModTextInput textInputTemplate, IModNumberInput numberInputTemplate) { _toggleTemplate = toggleTemplate; _sliderTemplate = sliderTemplate; _textInputTemplate = textInputTemplate; _numberInputTemplate = numberInputTemplate; var layoutGroup = menu.GetComponentsInChildren <VerticalLayoutGroup>().Single(x => x.name == "Content"); Initialize(menu, layoutGroup); var blocker = menu.GetComponentsInChildren <GraphicRaycaster>().Single(x => x.name == "RebindingModeBlocker"); blocker.gameObject.SetActive(false); var labelPanel = menu.GetValue <GameObject>("_selectableItemsRoot").GetComponentInChildren <HorizontalLayoutGroup>(); labelPanel.gameObject.SetActive(false); Title = ModData.Manifest.Name; var saveButton = GetButton("UIElement-SaveAndExit"); var resetButton = GetButton("UIElement-ResetToDefaultsButton"); var cancelButton = GetButton("UIElement-DiscardChangesButton"); saveButton.OnClick += OnSave; resetButton.OnClick += OnReset; cancelButton.OnClick += Close; saveButton.SetControllerCommand(InputLibrary.confirm); resetButton.SetControllerCommand(InputLibrary.setDefaults); cancelButton.SetControllerCommand(InputLibrary.cancel); GetButton("UIElement-CancelOutOfRebinding").Hide(); GetButton("UIElement-KeyRebinder").Hide(); AddInputs(); }
public IModTextInput AddTextInput(IModTextInput input, int index) { TextInputs.Add(input); AddInput(input, index); return(input); }
public IModTextInput AddTextInput(IModTextInput input) { return(AddTextInput(input, input.Index)); }