public void SpawnPlayer(int playerNumber, bool recreateGameObject = true) { if (recreateGameObject == false) { switch (playerNumber) { case 1: players[playerNumber - 1].GetComponentInChildren <PlayerController>().transform.position = player1Spawn.position; break; case 2: players[playerNumber - 1].GetComponentInChildren <PlayerController>().transform.position = player2Spawn.position; break; case 3: players[playerNumber - 1].GetComponentInChildren <PlayerController>().transform.position = player3Spawn.position; break; case 4: players[playerNumber - 1].GetComponentInChildren <PlayerController>().transform.position = player4Spawn.position; break; default: break; } return; } // If we have a player in that spot, delete it if (players[playerNumber - 1] != null) { Destroy(players[playerNumber - 1]); players[playerNumber - 1] = null; } GameObject newPlayer = null; // Switch on the different players to spawn them in different spots switch (playerNumber) { case 1: newPlayer = Instantiate(playerPrefab, player1Spawn.position, player1Spawn.rotation) as GameObject; break; case 2: newPlayer = Instantiate(playerPrefab, player2Spawn.position, player2Spawn.rotation) as GameObject; break; case 3: newPlayer = Instantiate(playerPrefab, player3Spawn.position, player3Spawn.rotation) as GameObject; break; case 4: newPlayer = Instantiate(playerPrefab, player4Spawn.position, player4Spawn.rotation) as GameObject; break; default: break; } // Set the gameObject name newPlayer.name = "Player " + playerNumber.ToString(); // Add to the player array in the correct spot players[playerNumber - 1] = newPlayer; PlayerController newPlayerController = newPlayer.GetComponentInChildren <PlayerController>(); // Set each players number newPlayerController.playerNumber = playerNumber; // Set the controller number newPlayerController.controller = (XboxCtrlrInput.XboxController)playerNumber; // Set player as alive newPlayerController.isAlive = true; LookRotation newLookRotation = newPlayer.GetComponentInChildren <LookRotation>(); newLookRotation.StartUp(); newLookRotation.LookTowards(Vector3.back * 1000); playerColourPicker.SetUp(players); }
void RespawnPlayer(int playerNumber) { if (players[playerNumber - 1] != null) { if (zoneManager.zonePosition == ZoneManager.ZonePosition.Centre) // If the zone is in the centre { players[playerNumber - 1].transform.position = outerSpawns[playerNumber - 1].position; // Spawn on outer spawn } else { players[playerNumber - 1].transform.position = centreSpawns[playerNumber - 1].position; // Spawn in the centre } //// Switch on the different players to spawn them in respective spots //switch (playerNumber) //{ // case 1: // players[playerNumber - 1].transform.position = player1Spawn.position; // break; // case 2: // players[playerNumber - 1].transform.position = player2Spawn.position; // break; // case 3: // players[playerNumber - 1].transform.position = player3Spawn.position; // break; // case 4: // players[playerNumber - 1].transform.position = player4Spawn.position; // break; // default: // break; //} // Set player as alive players[playerNumber - 1].GetComponent <PlayerController>().isAlive = true; players[playerNumber - 1].GetComponent <Rigidbody>().velocity = Vector3.zero; LookRotation lookRotation = players[playerNumber - 1].transform.parent.GetComponentInChildren <LookRotation>(); lookRotation.LookTowards(zone.transform.position); } //// Set the gameObject name //newPlayer.name = "Player " + playerNumber.ToString(); //// Add to the player array in the correct spot //players[playerNumber - 1] = newPlayer; //PlayerController newPlayerController = newPlayer.GetComponentInChildren<PlayerController>(); //// Set each players number //newPlayerController.playerNumber = playerNumber; //// Set the controller number //newPlayerController.controller = (XboxCtrlrInput.XboxController)playerNumber; //// Set player as alive //newPlayerController.isAlive = true; //LookRotation newLookRotation = newPlayer.GetComponentInChildren<LookRotation>(); //newLookRotation.StartUp(); //newLookRotation.LookTowards(zone.transform.position); ////TODO do this is a better spot or a better way //playerColourPicker.SetUp(players); }