void Update() { if (manager == null) { manager = NetworkManager.singleton as NetworkManagerMMO; } // only update while visible (after character selection made it visible) if (panel.activeSelf) { // still in lobby? if (manager.state == NetworkState.Lobby) { Show(); // copy player classes to class selection classDropdown.options = manager.GetPlayerClasses().Select( p => new Dropdown.OptionData(p.name) ).ToList(); // create createButton.interactable = manager.IsAllowedCharacterName(nameInput.text); createButton.onClick.SetListener(() => { CharacterCreateMsg message = new CharacterCreateMsg { name = nameInput.text, classIndex = classDropdown.value }; NetworkClient.Send(message); Hide(); }); // cancel cancelButton.onClick.SetListener(() => { nameInput.text = ""; Hide(); }); } else { Hide(); } } else { Hide(); } }
void Update() { // only update while visible (after character selection made it visible) if (panel.activeSelf) { // still connected, not in world? if (manager.IsClientConnected() && !Utils.ClientLocalPlayer()) { Show(); // copy player classes to class selection classDropdown.options = manager.GetPlayerClasses().Select( p => new Dropdown.OptionData(p.name) ).ToList(); // create createButton.interactable = manager.IsAllowedCharacterName(nameInput.text); createButton.onClick.SetListener(() => { CharacterCreateMsg message = new CharacterCreateMsg { name = nameInput.text, classIndex = classDropdown.value }; manager.client.Send(CharacterCreateMsg.MsgId, message); Hide(); }); // cancel cancelButton.onClick.SetListener(() => { nameInput.text = ""; Hide(); }); // addon system hooks Utils.InvokeMany(typeof(UICharacterCreation), this, "Update_"); } else { Hide(); } } else { Hide(); } }
void Update() { // only update while visible (after character selection made it visible) if (panel.activeSelf) { // still in lobby? if (manager.state == NetworkState.Lobby) { Show(); // copy player classes to class selection classDropdown.options = manager.playerClasses.Select( p => new Dropdown.OptionData(p.name) ).ToList(); // only show GameMaster option for host connection // -> this helps to test and create GameMasters more easily // -> use the database field for dedicated servers! gameMasterToggle.gameObject.SetActive(NetworkServer.localClientActive); // create createButton.interactable = manager.IsAllowedCharacterName(nameInput.text); createButton.onClick.SetListener(() => { CharacterCreateMsg message = new CharacterCreateMsg { name = nameInput.text, classIndex = classDropdown.value, gameMaster = gameMasterToggle.isOn }; NetworkClient.Send(message); Hide(); }); // cancel cancelButton.onClick.SetListener(() => { nameInput.text = ""; Hide(); }); } else { Hide(); } } }