void OnTriggerEnter(Collider other) { if (other.GetComponent <RespawnOnFall>() != null) { other.GetComponent <RespawnOnFall>().Respawn(); return; } if (other.tag == "Player") { FriendController f = other.GetComponent <FriendController>(); RoundManager.instance.TriggerPlayerDeath(f.playerNum); if (!GameManager.instance.gameRunning) { f.Respawn(); } else if (RoundManager.settings.playerRespawn) { f.Respawn(); } else { RoundManager.instance.playersToRespawn.Add(f); } } }
public void SpawnPlayer(Player player) { player.isPlaying = true; PlayerJoinedArgs args = new PlayerJoinedArgs(); args.player = player; args.playerId = player.id; OnPlayerJoined(args); GameObject newPlayer = Instantiate(playerObj); if (players.Any(p => p == null)) { int index = players.FindIndex(p => p == null); args.playerNum = index; Debug.Log("Player spawned as player: " + index); players[index] = player; newPlayer.GetComponent <Renderer>().material.SetColor("_BaseColor", playerColors[index]); } else { Debug.Log("Spawned as player: " + players.Count); newPlayer.GetComponent <Renderer>().material.SetColor("_BaseColor", playerColors[players.Count]); args.playerNum = players.Count; players.Add(player); } FriendController controller = newPlayer.GetComponent <FriendController>(); controller.playerId = player.id; controller.playerNum = args.playerNum; controller.Respawn(); playerObjects.Add(player, newPlayer); targetGroup.AddMember(newPlayer.transform, 1f, 0f); }