Version: 2018.2 (switch to 2018.3b or 2017.4)
LanguageEnglish
  • C#

ClientScene.Ready

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static bool Ready(Networking.NetworkConnection conn);

Parameters

connThe client connection which is ready.

Description

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(); } } }

Did you find this page useful? Please give it a rating: