conn | The client connection which is ready. |
Signal that the client connection is ready to enter the game.
This could be for example when a client enters an ongoing game and has finished loading the current Scene. The server should respond to the SYSTEM_READY event with an appropriate handler which instantiates the players object for example.
using UnityEngine; using UnityEngine.UI; using UnityEngine.Networking;
//This makes the GameObject a NetworkManager GameObject public class Example : NetworkManager { public bool m_ServerStarted, m_ClientStarted; public Button m_ClientButton;
//Detect when a client connects to the Server public override void OnClientConnect(NetworkConnection connection) { ClientScene.Ready(connection); ClientScene.AddPlayer(0);
m_ClientStarted = true; //Output text to show the connection on the client side Debug.Log("Client Side : Client " + connection.connectionId + " Connected!");
//Register and receive the message on the Client's side (NetworkConnection.Send Example) client.RegisterHandler(MsgType.Ready, ReadyMessage); }
//Use this to receive the message from the Server on the Client's side public void ReadyMessage(NetworkMessage networkMessage) { Debug.Log("Client Ready! "); }
//Detect when a client disconnects from the Server public override void OnClientDisconnect(NetworkConnection connection) { //Change the text to show the connection loss on the client side Debug.Log("Client Side : Client " + connection.connectionId + " Lost!"); m_ClientStarted = false; }
public void ClientButton() { if (!m_ClientStarted) { NetworkServer.Reset(); singleton.StartClient(); m_ClientButton.GetComponentInChildren<Text>().text = "Disconnect"; } else { singleton.StopClient(); } } }