IEnumerator GameEndCoroutine() { // Tell each player if they won or lost. var players = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject playerObject in players) { MyThirdPersonUserControl player = playerObject.GetComponent <MyThirdPersonUserControl>(); if (player.coins >= coinsToWin) { player.RpcWinMatch(); } else { player.RpcLoseMatch(); } } // Display countdown. gameEndText.enabled = true; for (int i = 0; i < endSeconds; i++) { gameEndText.text = string.Format("Going back to looby in {0} seconds", endSeconds - i); yield return(new WaitForSeconds(1.0f)); } gameEndText.enabled = false; LobbyManager.s_Singleton.ServerReturnToLobby(); }
public override void OnLobbyServerSceneLoadedForPlayer(NetworkManager manager, GameObject lobbyPlayer, GameObject gamePlayer) { LobbyPlayer lobby = lobbyPlayer.GetComponent <LobbyPlayer>(); MyThirdPersonUserControl playerChar = gamePlayer.GetComponent <MyThirdPersonUserControl>(); playerChar.playerName = lobby.playerName; playerChar.color = lobby.playerColor; }
IEnumerator GameStartCoroutine() { // Display countdown. gameStartText.enabled = true; for (int i = 0; i < startSeconds; i++) { gameStartText.text = (startSeconds - i).ToString(); yield return(new WaitForSeconds(1.0f)); } gameStartText.enabled = false; var players = GameObject.FindGameObjectsWithTag("Player"); // The server will tell each client where to spawn the player. if (isServer) { foreach (GameObject player in players) { MyThirdPersonUserControl playerControl = player.GetComponent <MyThirdPersonUserControl>(); Debug.Log(string.Format("Spawning player {0}", playerControl.name)); playerControl.RpcSpawn(NetworkManager.singleton.GetStartPosition().position); } } // Enable UI GameObject scores = GameObject.Find("Scores"); Object scorePrefab = Resources.Load("Prefabs/PlayerScore"); foreach (GameObject player in players) { GameObject score = (GameObject)Instantiate(scorePrefab, Vector3.zero, Quaternion.identity, scores.transform); score.GetComponent <PlayerScore>().player = player.GetComponent <MyThirdPersonUserControl>(); } GameObject.Find("ItemBorder").GetComponent <RawImage>().enabled = true; // Enable camera script Camera.main.GetComponent <MySmoothFollow>().enabled = true; }