using System; using System.Collections.Generic; using System.ComponentModel; using UnityEngine.Networking.Match; namespace UnityEngine.Networking { // Token: 0x0200004D RID: 77 [AddComponentMenu("Network/NetworkManagerHUD")] [RequireComponent(typeof(NetworkManager))] [EditorBrowsable(EditorBrowsableState.Never)] public class NetworkManagerHUD : MonoBehaviour { // Token: 0x0600032F RID: 815 RVA: 0x0001157A File Offset: 0x0000F77A private void Awake() { this.manager = base.GetComponent(); } // Token: 0x06000330 RID: 816 RVA: 0x0001158C File Offset: 0x0000F78C private void Update() { if (this.showGUI) { if (!this.manager.IsClientConnected() && !NetworkServer.active && this.manager.matchMaker == null) { if (Application.platform != RuntimePlatform.WebGLPlayer) { if (Input.GetKeyDown(KeyCode.S)) { this.manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { this.manager.StartHost(); } } if (Input.GetKeyDown(KeyCode.C)) { this.manager.StartClient(); } } if (NetworkServer.active) { if (this.manager.IsClientConnected()) { if (Input.GetKeyDown(KeyCode.X)) { this.manager.StopHost(); } } else if (Input.GetKeyDown(KeyCode.X)) { this.manager.StopServer(); } } } } // Token: 0x06000331 RID: 817 RVA: 0x00011690 File Offset: 0x0000F890 private void OnGUI() { if (this.showGUI) { int num = 10 + this.offsetX; int num2 = 40 + this.offsetY; bool flag = this.manager.client == null || this.manager.client.connection == null || this.manager.client.connection.connectionId == -1; if (!this.manager.IsClientConnected() && !NetworkServer.active && this.manager.matchMaker == null) { if (flag) { if (Application.platform != RuntimePlatform.WebGLPlayer) { if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "LAN Host(H)")) { this.manager.StartHost(); } num2 += 24; } if (GUI.Button(new Rect((float)num, (float)num2, 105f, 20f), "LAN Client(C)")) { this.manager.StartClient(); } this.manager.networkAddress = GUI.TextField(new Rect((float)(num + 100), (float)num2, 95f, 20f), this.manager.networkAddress); num2 += 24; if (Application.platform == RuntimePlatform.WebGLPlayer) { GUI.Box(new Rect((float)num, (float)num2, 200f, 25f), "( WebGL cannot be server )"); num2 += 24; } else { if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "LAN Server Only(S)")) { this.manager.StartServer(); } num2 += 24; } } else { GUI.Label(new Rect((float)num, (float)num2, 200f, 20f), string.Concat(new object[] { "Connecting to ", this.manager.networkAddress, ":", this.manager.networkPort, ".." })); num2 += 24; if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Cancel Connection Attempt")) { this.manager.StopClient(); } } } else { if (NetworkServer.active) { string text = "Server: port=" + this.manager.networkPort; if (this.manager.useWebSockets) { text += " (Using WebSockets)"; } GUI.Label(new Rect((float)num, (float)num2, 300f, 20f), text); num2 += 24; } if (this.manager.IsClientConnected()) { GUI.Label(new Rect((float)num, (float)num2, 300f, 20f), string.Concat(new object[] { "Client: address=", this.manager.networkAddress, " port=", this.manager.networkPort })); num2 += 24; } } if (this.manager.IsClientConnected() && !ClientScene.ready) { if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Client Ready")) { ClientScene.Ready(this.manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } num2 += 24; } if (NetworkServer.active || this.manager.IsClientConnected()) { if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Stop (X)")) { this.manager.StopHost(); } num2 += 24; } if (!NetworkServer.active && !this.manager.IsClientConnected() && flag) { num2 += 10; if (Application.platform == RuntimePlatform.WebGLPlayer) { GUI.Box(new Rect((float)(num - 5), (float)num2, 220f, 25f), "(WebGL cannot use Match Maker)"); } else if (this.manager.matchMaker == null) { if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Enable Match Maker (M)")) { this.manager.StartMatchMaker(); } num2 += 24; } else { if (this.manager.matchInfo == null) { if (this.manager.matches == null) { if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Create Internet Match")) { this.manager.matchMaker.CreateMatch(this.manager.matchName, this.manager.matchSize, true, "", "", "", 0, 0, new NetworkMatch.DataResponseDelegate(this.manager.OnMatchCreate)); } num2 += 24; GUI.Label(new Rect((float)num, (float)num2, 100f, 20f), "Room Name:"); this.manager.matchName = GUI.TextField(new Rect((float)(num + 100), (float)num2, 100f, 20f), this.manager.matchName); num2 += 24; num2 += 10; if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Find Internet Match")) { this.manager.matchMaker.ListMatches(0, 20, "", false, 0, 0, new NetworkMatch.DataResponseDelegate>(this.manager.OnMatchList)); } num2 += 24; } else { for (int i = 0; i < this.manager.matches.Count; i++) { MatchInfoSnapshot matchInfoSnapshot = this.manager.matches[i]; if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Join Match:" + matchInfoSnapshot.name)) { this.manager.matchName = matchInfoSnapshot.name; this.manager.matchMaker.JoinMatch(matchInfoSnapshot.networkId, "", "", "", 0, 0, new NetworkMatch.DataResponseDelegate(this.manager.OnMatchJoined)); } num2 += 24; } if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Back to Match Menu")) { this.manager.matches = null; } num2 += 24; } } if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Change MM server")) { this.m_ShowServer = !this.m_ShowServer; } if (this.m_ShowServer) { num2 += 24; if (GUI.Button(new Rect((float)num, (float)num2, 100f, 20f), "Local")) { this.manager.SetMatchHost("localhost", 1337, false); this.m_ShowServer = false; } num2 += 24; if (GUI.Button(new Rect((float)num, (float)num2, 100f, 20f), "Internet")) { this.manager.SetMatchHost("mm.unet.unity3d.com", 443, true); this.m_ShowServer = false; } num2 += 24; if (GUI.Button(new Rect((float)num, (float)num2, 100f, 20f), "Staging")) { this.manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true); this.m_ShowServer = false; } } num2 += 24; GUI.Label(new Rect((float)num, (float)num2, 300f, 20f), "MM Uri: " + this.manager.matchMaker.baseUri); num2 += 24; if (GUI.Button(new Rect((float)num, (float)num2, 200f, 20f), "Disable Match Maker")) { this.manager.StopMatchMaker(); } num2 += 24; } } } } // Token: 0x04000189 RID: 393 public NetworkManager manager; // Token: 0x0400018A RID: 394 [SerializeField] public bool showGUI = true; // Token: 0x0400018B RID: 395 [SerializeField] public int offsetX; // Token: 0x0400018C RID: 396 [SerializeField] public int offsetY; // Token: 0x0400018D RID: 397 private bool m_ShowServer; } }