コード例 #1
0
    public void playerIsDead(Player player)
    {
        deadPlayers.Add(player);
        int numOfDeadPlayers = deadPlayers.Count;
        int numOfPlayers     = scoreMap.Count;
        int additionalScore  = (numOfDeadPlayers) * 10;

        // set score
        int oldScore = scoreMap[player.id];

        scoreMap[player.id] = oldScore + additionalScore;
        playerScoreList.updateScoreBoard();



        // if numOfDeadPlayers is totalPlayer -1, it means there is one player left, kill him.
        if (numOfDeadPlayers == numOfPlayers - 1)
        {
            PlayersSpawner playersSpawner = FindObjectOfType <PlayersSpawner>();
            List <Player>  allPlayers     = playersSpawner.GetAllPlayers();

            foreach (Player p in allPlayers)
            {
                if (!deadPlayers.Contains(p))
                {
                    p.kill();
                }
            }
        }

        // If numOfDeadPlayers is equal to number of players, end game.
        if (numOfDeadPlayers == numOfPlayers)
        {
            FindObjectOfType <GameManager>().EndMatch();
        }
    }
コード例 #2
0
ファイル: SpawnPoint.cs プロジェクト: DawidSieczka/ArCombat
 private void Awake()
 {
     _spawner = GetComponentInParent <PlayersSpawner>();
 }
コード例 #3
0
ファイル: Player.cs プロジェクト: gviligvili/atnfever
 private void Awake()
 {
     playersSpawner  = FindObjectOfType <PlayersSpawner>();
     powerUpsSpawner = FindObjectOfType <PowerUpsSpawner>();
     scoreManager    = FindObjectOfType <ScoreManager>();
 }