This stops both the client and the server that the manager is using.
void Update() { if (!showGUI) { return; } if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null) { if (UnityEngine.Application.platform != RuntimePlatform.WebGLPlayer) { if (Input.GetKeyDown(KeyCode.S)) { manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { manager.StartHost(); } } if (Input.GetKeyDown(KeyCode.C)) { manager.StartClient(); } } if (NetworkServer.active && manager.IsClientConnected()) { if (Input.GetKeyDown(KeyCode.X)) { manager.StopHost(); } } }
void Update() { if (!showGUI) { return; } if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) { if (Input.GetKeyDown(KeyCode.S)) { manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { manager.StartHost(); } if (Input.GetKeyDown(KeyCode.C)) { manager.StartClient(); } } if (NetworkServer.active && NetworkClient.active) { if (Input.GetKeyDown(KeyCode.X)) { manager.StopHost(); } } }
internal static void UpdateScene() { #if UNITY_EDITOR // In the editor, reloading scripts in play mode causes a Mono Domain Reload. // This gets the transport layer (C++) and HLAPI (C#) out of sync. // This check below detects that problem and shuts down the transport layer to bring both systems back in sync. if (singleton == null && s_PendingSingleton != null && s_DomainReload) { if (LogFilter.logWarn) { Debug.LogWarning("NetworkManager detected a script reload in the editor. This has caused the network to be shut down."); } s_DomainReload = false; s_PendingSingleton.InitializeSingleton(); // destroy network objects var uvs = FindObjectsOfType <NetworkIdentity>(); foreach (var uv in uvs) { GameObject.Destroy(uv.gameObject); } singleton.StopHost(); NetworkTransport.Shutdown(); } #endif if (singleton == null) { return; } if (s_LoadingSceneAsync == null) { return; } if (!s_LoadingSceneAsync.isDone) { return; } if (LogFilter.logDebug) { Debug.Log("ClientChangeScene done readyCon:" + s_ClientReadyConnection); } singleton.FinishLoadScene(); s_LoadingSceneAsync.allowSceneActivation = true; s_LoadingSceneAsync = null; }
public void StopServer()//Остановка сервера { if (NetworkServer.active || NetworkClient.active) { manager.StopHost(); } }
void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { isPaused = !isPaused; } if (isPaused) { Time.timeScale = 0f; // Le temps s'arrete } else { Time.timeScale = 1.0f; // Le temps reprend } if (!showGUI) { return; } if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null) { if (UnityEngine.Application.platform != RuntimePlatform.WebGLPlayer) { if (Input.GetKeyDown(KeyCode.S)) { manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { manager.StartHost(); } } if (Input.GetKeyDown(KeyCode.C)) { manager.StartClient(); } } if (NetworkServer.active && manager.IsClientConnected()) { if (Input.GetKeyDown(KeyCode.X)) { manager.StopHost(); } } }
public static void Shutdown() { if (!(singleton == null)) { s_StartPositions.Clear(); s_StartPositionIndex = 0; s_ClientReadyConnection = null; singleton.StopHost(); singleton = null; } }
public void Update() { if ((NetworkClient.active || NetworkServer.active) && Input.GetKeyUp(KeyCode.Escape)) { this.showGUI = !this.showGUI; } if (!showGUI) { return; } if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) { if (Input.GetKeyDown(KeyCode.S)) { this.showGUI = false; manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { this.showGUI = false; manager.StartHost(); } if (Input.GetKeyDown(KeyCode.C)) { manager.StartClient(); } } if (NetworkServer.active && NetworkClient.active) { if (Input.GetKeyDown(KeyCode.K)) { manager.StopHost(); this.showGUI = true; } } }
// Update is called once per frame void Update() { if (UnityEngine.Networking.NetworkServer.active) { if (leaveMatch()) { if (manager.IsClientConnected()) { manager.StopHost(); } else { manager.StopServer(); } ShowMenu(activeGroup); } } }
private void StopConnection() { manager.StopHost(); }
void OnGUI() { if (!showGUI) { return; } GUI.skin = myGUI; GUI.skin.button.fontSize = Screen.height / 25; GUI.skin.textField.fontSize = Screen.height / 25; GUI.skin.label.fontSize = Screen.height / 25; GUI.skin.box.fontSize = Screen.height / 25; int xpos = 10 + offsetX; int ypos = 40 + offsetY; int heightButton = Screen.height / 10; int widthButton = Screen.width / 4; int spacing = heightButton + 10; bool noConnection = (manager.client == null || manager.client.connection == null || manager.client.connection.connectionId == -1); if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null) { if (noConnection) { } else { GUI.Label(new Rect(xpos, ypos, 200, 20), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + ".."); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Cancel Connection Attempt")) { manager.StopClient(); } } } else { } if (manager.IsClientConnected() && !ClientScene.ready) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready")) { ClientScene.Ready(manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } ypos += spacing; } if (NetworkServer.active || manager.IsClientConnected()) { if (GUI.Button(new Rect(xpos, Screen.height - heightButton - 10, widthButton, heightButton), "Stop (X)")) { manager.StopHost(); } ypos += spacing; } if (!NetworkServer.active && !manager.IsClientConnected() && noConnection) { ypos += 10; if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer) { GUI.Box(new Rect(xpos - 5, ypos, 220, 25), "(WebGL cannot use Match Maker)"); return; } if (manager.matchMaker == null) { if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Multijoueur")) { manager.StartMatchMaker(); } ypos += spacing; } else { if (manager.matchInfo == null) { if (manager.matches == null) { if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Create Internet Match")) { manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", "", "", 0, 0, manager.OnMatchCreate); } ypos += spacing; GUI.Label(new Rect(xpos, ypos, widthButton, heightButton), "Room Name:"); ypos += spacing / 2; manager.matchName = GUI.TextField(new Rect(xpos, ypos, widthButton, heightButton / 2), manager.matchName); ypos += spacing / 2; if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Find Internet Match")) { manager.matchMaker.ListMatches(0, 20, "", false, 0, 0, manager.OnMatchList); } ypos += spacing; } else { for (int i = 0; i < manager.matches.Count; i++) { var match = manager.matches[i]; if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Join Match:" + match.name)) { manager.matchName = match.name; manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined); } ypos += spacing; } if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Back to Match Menu")) { manager.matches = null; } ypos += spacing; } } if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Back")) { manager.StopMatchMaker(); } ypos += spacing; } } }
void Update() { /*if ((!NetworkClient.active || (NetworkClient.active && !ClientScene.ready)) && !host) { * timerClient -= Time.deltaTime; * if (timerClient <= 0f) { * startClient (ipAddress); * print ("START CLIENT"); * * timerClient = timerReconnect; * } * }*/ if (controllerGame.GetComponent <ControllerGaming> ().endMatch) { timerMenu -= Time.deltaTime; if (Input.GetButtonDown("XboxA") || timerMenu <= 0f) { stopHost(); stopClient(); Destroy(GameObject.Find("NetVehicleContainer")); SceneManager.LoadScene("Main menu"); } } int numPlayers = lobby.GetComponent <Lobby> ().activePlayers; int maxPlayers = GetComponent <ControllerNet> ().maxPlayers; if (numPlayers != maxPlayers) { if (Input.GetButtonDown("XboxB")) { stopHost(); stopClient(); Destroy(GameObject.Find("NetVehicleContainer")); SceneManager.LoadScene("Main menu"); } } if (!showGUI) { return; } if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) { if (Input.GetKeyDown(KeyCode.S)) { manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { manager.StartHost(); } if (Input.GetKeyDown(KeyCode.C)) { manager.StartClient(); } } if (NetworkServer.active && NetworkClient.active) { if (Input.GetKeyDown(KeyCode.X)) { manager.StopHost(); } } }
void OnGUI() { int xpos = 25; int ypos = 50; int buttonWidth = 400; int buttonHeight = 100; int spacing = buttonHeight + 10; bool noConnection = (manager.client == null || manager.client.connection == null || manager.client.connection.connectionId == -1); if (!manager.IsClientConnected() && !NetworkServer.active) { if (noConnection) { if (GUI.Button(new Rect(xpos, ypos, buttonWidth, buttonHeight), "LAN Host(H)")) { manager.StartHost(); } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, buttonWidth / 2, buttonHeight), "LAN Client(C)")) { manager.StartClient(); } manager.networkAddress = GUI.TextField(new Rect(xpos + buttonWidth / 2, ypos, buttonWidth / 2, buttonHeight), manager.networkAddress); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, buttonWidth, buttonHeight), "LAN Server Only(S)")) { manager.StartServer(); } ypos += spacing; } else { GUI.Label(new Rect(xpos, ypos, buttonWidth, buttonHeight), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + ".."); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, buttonWidth, buttonHeight), "Cancel Connection Attempt")) { manager.StopClient(); } } } else { if (NetworkServer.active) { string serverMsg = "Server: port=" + manager.networkPort; if (manager.useWebSockets) { serverMsg += " (Using WebSockets)"; } GUI.Label(new Rect(xpos, ypos, buttonWidth, buttonHeight), serverMsg); ypos += spacing; } if (manager.IsClientConnected()) { GUI.Label(new Rect(xpos, ypos, buttonWidth, buttonHeight), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort); ypos += spacing; } } if (manager.IsClientConnected() && !ClientScene.ready) { if (GUI.Button(new Rect(xpos, ypos, buttonWidth, buttonHeight), "Client Ready")) { ClientScene.Ready(manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } ypos += spacing; } if (NetworkServer.active || manager.IsClientConnected()) { if (GUI.Button(new Rect(xpos, ypos, buttonWidth, buttonHeight), "Quit")) { manager.StopHost(); } ypos += spacing; } }
public void disconnect() { manager.StopHost(); pausePanel.SetActive(false); }
void OnGUI() { if (!showGUI) { return; } bool noConnection = (manager.client == null || manager.client.connection == null || manager.client.connection.connectionId == -1); GUILayout.BeginArea(new Rect(10 + offsetX, 40 + offsetY, 215, 9999)); if (!manager.IsClientConnected() && !NetworkServer.active) { if (noConnection) { // LAN Host if (Application.platform != RuntimePlatform.WebGLPlayer) { if (GUILayout.Button("LAN Host")) { manager.StartHost(); } } // LAN Client + IP GUILayout.BeginHorizontal(); if (GUILayout.Button("LAN Client")) { manager.StartClient(); } manager.networkAddress = GUILayout.TextField(manager.networkAddress); GUILayout.EndHorizontal(); // LAN Server Only if (Application.platform == RuntimePlatform.WebGLPlayer) { // cant be a server in webgl build GUILayout.Box("( WebGL cannot be server )"); } else { if (GUILayout.Button("LAN Server Only")) { manager.StartServer(); } } } else { // Connecting GUILayout.Label("Connecting to " + manager.networkAddress + ":" + manager.networkPort + ".."); if (GUILayout.Button("Cancel Connection Attempt")) { manager.StopClient(); } } } else { // server / client status message if (NetworkServer.active) { string serverMsg = "Server: port=" + manager.networkPort; if (manager.useWebSockets) { serverMsg += " (Using WebSockets)"; } GUILayout.Label(serverMsg); } if (manager.IsClientConnected()) { GUILayout.Label("Client: address=" + manager.networkAddress + " port=" + manager.networkPort); } } // client ready if (manager.IsClientConnected() && !ClientScene.ready) { if (GUILayout.Button("Client Ready")) { ClientScene.Ready(manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } } // stop if (NetworkServer.active || manager.IsClientConnected()) { if (GUILayout.Button("Stop")) { manager.StopHost(); } } GUILayout.EndArea(); }
public void StopHost() { manager.StopHost(); }
void OnGUI() { if (!showGUI) { return; } int xpos = 10 + offsetX; int ypos = 40 + offsetY; const int spacing = 24; bool noConnection = (manager.client == null || manager.client.connection == null || manager.client.connection.connectionId == -1); if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null) { if (noConnection) { if (UnityEngine.Application.platform != RuntimePlatform.WebGLPlayer) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LUL Host(H)")) { manager.StartHost(); } ypos += spacing; } if (GUI.Button(new Rect(xpos, ypos, 105, 20), "LAN Client(C)")) { manager.StartClient(); } manager.networkAddress = GUI.TextField(new Rect(xpos + 100, ypos, 95, 20), manager.networkAddress); ypos += spacing; if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer) { // cant be a server in webgl build GUI.Box(new Rect(xpos, ypos, 200, 25), "( WebGL cannot be server )"); ypos += spacing; } else { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Server Only(S)")) { manager.StartServer(); } ypos += spacing; } } else { GUI.Label(new Rect(xpos, ypos, 200, 20), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + ".."); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Cancel Connection Attempt")) { manager.StopClient(); } } } else { if (NetworkServer.active) { string serverMsg = "Server: port=" + manager.networkPort; if (manager.useWebSockets) { serverMsg += " (Using WebSockets)"; } GUI.Label(new Rect(xpos, ypos, 300, 20), serverMsg); ypos += spacing; } if (manager.IsClientConnected()) { GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort); ypos += spacing; } } if (manager.IsClientConnected() && !ClientScene.ready) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready")) { ClientScene.Ready(manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } ypos += spacing; } if (NetworkServer.active || manager.IsClientConnected()) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (X)")) { manager.StopHost(); } ypos += spacing; } if (!NetworkServer.active && !manager.IsClientConnected() && noConnection) { ypos += 10; if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer) { GUI.Box(new Rect(xpos - 5, ypos, 220, 25), "(WebGL cannot use Match Maker)"); return; } if (manager.matchMaker == null) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)")) { 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, "", "", "", 0, 0, 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, "", false, 0, 0, manager.OnMatchList); } ypos += spacing; } else { for (int i = 0; i < manager.matches.Count; i++) { var match = manager.matches[i]; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name)) { manager.matchName = match.name; manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined); } ypos += spacing; } if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Back to Match Menu")) { manager.matches = null; } ypos += spacing; } } if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server")) { m_ShowServer = !m_ShowServer; } if (m_ShowServer) { ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local")) { manager.SetMatchHost("localhost", 1337, false); m_ShowServer = false; } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet")) { manager.SetMatchHost("mm.unet.unity3d.com", 443, true); m_ShowServer = false; } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging")) { manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true); m_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")) { manager.StopMatchMaker(); } ypos += spacing; } } }