12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using UnityEngine;
- namespace Mirror.Examples.Chat
- {
- [AddComponentMenu("")]
- public class ChatNetworkManager : NetworkManager
- {
- public static new ChatNetworkManager singleton { get; private set; }
- /// <summary>
- /// Runs on both Server and Client
- /// Networking is NOT initialized when this fires
- /// </summary>
- public override void Awake()
- {
- base.Awake();
- singleton = this;
- }
- // Called by UI element NetworkAddressInput.OnValueChanged
- public void SetHostname(string hostname)
- {
- networkAddress = hostname;
- }
- public override void OnServerDisconnect(NetworkConnectionToClient conn)
- {
- // remove player name from the HashSet
- if (conn.authenticationData != null)
- ChatAuthenticator.playerNames.Remove((string)conn.authenticationData);
- // remove connection from Dictionary of conn > names
- ChatUI.connNames.Remove(conn);
- base.OnServerDisconnect(conn);
- }
- public override void OnClientDisconnect()
- {
- base.OnClientDisconnect();
- LoginUI.instance.gameObject.SetActive(true);
- LoginUI.instance.usernameInput.text = "";
- LoginUI.instance.usernameInput.ActivateInputField();
- }
- }
- }
|