conn | ゲームプレイの準備ができているクライアント |
接続しているクライアントがゲーム可能かどうかを判断します。
これは例えば、現在のシーンの読み込みが完了した後に、クライアントのゲーム進行を行う事ができます。サーバーでは、SYSTEM_READY イベントを受け取り、必要に合わせプレイヤーをインスタンス化する必要があります。
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(); } } }