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();
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
        }
Пример #4
0
 public IModTextInput AddTextInput(IModTextInput input, int index)
 {
     TextInputs.Add(input);
     AddInput(input, index);
     return(input);
 }
Пример #5
0
 public IModTextInput AddTextInput(IModTextInput input)
 {
     return(AddTextInput(input, input.Index));
 }