UnityEngine.Networking.CustomNetworkManagerHUD.OnGUI C# (CSharp) Method

OnGUI() public method

public OnGUI ( ) : void
return void
        public void OnGUI()
        {
            if (!showGUI)
                return;

            int xpos = 10 + offsetX;
            int ypos = 40 + offsetY;
            int spacing = 24;

            if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Host(H)")) {
                    this.showGUI = false;
                    Debug.Log("Starting host.");
                    manager.StartHost();
                }
                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 105, 20), "LAN Client(C)")) {
                    Debug.Log("Starting client.");
                    manager.StartClient();
                }
                manager.networkAddress = GUI.TextField(new Rect(xpos + 100, ypos, 95, 20), manager.networkAddress);
                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Server Only(S)")) {
                    this.showGUI = false;
                    Debug.Log("Starting server.");
                    manager.StartServer();
                }
                ypos += spacing;
            }
            else {
                if (NetworkServer.active) {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Server: address=" + manager.networkAddress + " port=" + manager.networkPort, this.style);
                    ypos += spacing;
                }
                else if (NetworkClient.active) {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort, this.style);
                    ypos += spacing;
                }
            }

            if (NetworkClient.active && !ClientScene.ready) {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready")) {
                    ClientScene.Ready(manager.client.connection);
                    this.showGUI = false;
                    if (ClientScene.localPlayers.Count == 0) {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || NetworkClient.active) {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (K)")) {
                    Debug.Log("Stopping host.");
                    manager.StopHost();
                    if (NetworkClient.active) {
                        Debug.Log("Also stopping client.");
                        manager.StopClient();
                    }
                    this.showGUI = true;
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !NetworkClient.active) {
                ypos += 10;

                if (manager.matchMaker == null) {
                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)")) {
                        Debug.Log("Starting match maker.");
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else {
                    if (manager.matchInfo == null) {
                        if (manager.matches == null) {
                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match")) {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:");
                            manager.matchName = GUI.TextField(new Rect(xpos + 100, ypos, 100, 20), manager.matchName);
                            ypos += spacing;

                            ypos += 10;

                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match")) {
                                manager.matchMaker.ListMatches(0, 20, "", manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else {
                            foreach (var match in manager.matches) {
                                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name)) {
                                    manager.matchName = match.name;
                                    manager.matchSize = (uint)match.currentSize;
                                    manager.matchMaker.JoinMatch(match.networkId, "", manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }
                        }
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server")) {
                        showServer = !showServer;
                    }
                    if (showServer) {
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local")) {
                            manager.SetMatchHost("localhost", 1337, false);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet")) {
                            manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging")) {
                            manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                    }

                    ypos += spacing;

                    GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri);
                    ypos += spacing;

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker")) {
                        Debug.Log("Stopping match maker.");
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }

            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Return to Main Menu")) {
                if (NetworkServer.active || NetworkClient.active) {
                    Debug.Log("Stopping host.");
                    manager.StopHost();
                    this.showGUI = false;
                }

            #if (UNITY_5_2_3 || UNITY_5_2_4)
                Application.LoadLevel("menu");
            #else
                SceneManager.LoadScene("menu");
            #endif
            }
            ypos += spacing;
        }
CustomNetworkManagerHUD