- Home /
After 10 Seconds Player Spawning in Multiplayer
I was using Unity's built-in multiplayer system for creating a multiplayer game and I have completed my whole game work. At present in my multiplayer game, my both players get spawned as the game get started but I want to spawn them after 10 seconds waiting. Because I want to provide this kind of functionality in a game so I want to give some time to players.
For this reason, I have googled on multiple things and found this link: Custom Player Spawning This way I can update the player and then attach with the network connection.
But here there was no way exist to give 10 seconds waiting and
within NetworkManager it didn't get called automatically.
what do I require to do for these?
Here is my code:
public class DodgelsNetworkManager : NetworkManager
{
//
const short MESSAGE_ID = 1002;
public override void OnClientConnect (NetworkConnection connection)
{
base.OnClientConnect (connection);
GameHUDController.Instance.UpdateDebugMesssage ("\nOnClientConnect");
Camera.main.SendMessage (GameConstants.ACTIVATE_NETWORK_WAITING_PANEL, true, SendMessageOptions.DontRequireReceiver);
LayerScroller.stopScrolling = true;
// client joined the host
if (connection.connectionId > 0) {
StartCoroutine (AfterDelayHideWaitingDialog ());
// var msg = new EmptyMessage ();
// NetworkManager.singleton.client.Send (MESSAGE_ID, msg);
}
// Camera.main.SendMessage (GameConstants.ACTIVATE_NETWORK_WAITING_PANEL, false, SendMessageOptions.DontRequireReceiver);
}
IEnumerator AfterDelayHideWaitingDialog ()
{
GameObject networkPlayerObj = null;
while (networkPlayerObj == null) {
yield return new WaitForSeconds (0.1f);
networkPlayerObj = GameObject.FindGameObjectWithTag (GameConstants.TAG_HUMAN_PLAYER);
}
networkPlayerObj.GetComponent<NetworkPlayerController> ().HidePlayerWaitingDialog ();
}
public override void OnServerAddPlayer (NetworkConnection conn, short playerControllerId)
{
Debug.Log ("-------------OnServerAddPlayer");
GameObject player = Instantiate (playerPrefab, startPositions [conn.connectionId].position, Quaternion.identity);
NetworkServer.AddPlayerForConnection (conn, player, playerControllerId);
}
}
Share your suggestions regarding this.
Your answer
Follow this Question
Related Questions
Setup Custom Multiplayer Joining 0 Answers
Check when a player finished spawning [Netcode For GameObjects!] 2 Answers
Unity networking tutorial? 6 Answers
Remove players and close server in Unity Multiplayer Game 0 Answers
Player ReSpawn Logic 1 Answer