public static PlayerTracker GetInstance() { if (instance == null) { instance = new PlayerTracker(); } return(instance); }
private TeamTracker() { foreach (GameObject player in PlayerTracker.GetInstance().GetPlayers()) { AddTeamTrackingToPlayers(player); } PlayerTracker.GetInstance().OnPlayerAdded += AddTeamTrackingToPlayers; PlayerTracker.GetInstance().OnPlayerRemoved += (GameObject player) => { CountTeams(); }; }
private void CountTeams() { vips = inhumers = 0; foreach (GameObject player in PlayerTracker.GetInstance().GetPlayers()) { if (player.GetComponent <PlayerDataForClients>().GetTeam() == PlayerDataForClients.TEAM_VIP) { vips++; } else if (player.GetComponent <PlayerDataForClients>().GetTeam() == PlayerDataForClients.TEAM_INHUMER) { inhumers++; } } if (OnTeamChanged != null) { OnTeamChanged(vips, inhumers); } }
public void OnDestroy() { PlayerTracker.GetInstance().RemovePlayer(gameObject); }
public override void OnStartLocalPlayer() { PlayerTracker.GetInstance().SetLocalPlayer(gameObject); }
private void UpdatePlayerIsServer(GameObject player, bool isServer) { PlayerTracker.GetInstance().SetServerPlayer(gameObject); }
public override void OnStartClient() { PlayerTracker.GetInstance().AddPlayer(gameObject); gameObject.GetComponent <PlayerDataForClients>().OnIsServerFlagUpdated += UpdatePlayerIsServer; }