コード例 #1
0
ファイル: ModOptionsMenu.cs プロジェクト: misternebula/owml
        public void AddTab(IModTabMenu tabMenu)
        {
            _tabMenus.Add(tabMenu);
            var tabs = _tabMenus.Select(x => x.TabButton).ToArray();

            Menu.SetValue("_menuTabs", tabs);
            var parent = tabs[0].transform.parent;

            tabMenu.TabButton.transform.parent = parent;
            UpdateTabNavigation();
        }
コード例 #2
0
        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();
        }