Ejemplo n.º 1
0
        private void CheckForWinner()
        {
            var alivePlayersLeft = GameSystem.Players
                                   .Where(p => p.PlayerState == PlayerState.Normal);

            if (alivePlayersLeft.Count() > 1)
            {
                return;
            }

            var player = alivePlayersLeft.FirstOrDefault();

            if (player != null)
            {
                var playerScore = ContextHelper.PlayerScores?.FirstOrDefault(x => x.PlayerIndex == player.PlayerIndex);
                if (playerScore == null)
                {
                    return;
                }

                playerScore.Score++;

                if (playerScore.Score >= Settings.ScoreLimit)
                {
                    _weHaveAWinner = true;
                }
            }

            GameSystem.EndRound();
        }
Ejemplo n.º 2
0
        private void CheckForWinner()
        {
            if (_weHaveAWinner)
            {
                return;
            }

            var maxScoreHolder = ContextHelper.PlayerScores.Max();

            if (maxScoreHolder.Score < Settings.ScoreLimit)
            {
                return;
            }

            _weHaveAWinner = true;
            var winningPlayer = GameSystem.Players.First(p => p.PlayerIndex == maxScoreHolder.PlayerIndex);

            winningPlayer.getComponent <CameraTracker>().setEnabled(true);
            var otherPlayers = GameSystem.Players.Where(p => p.PlayerIndex != maxScoreHolder.PlayerIndex);

            foreach (var otherPlayer in otherPlayers)
            {
                otherPlayer.getComponent <CameraTracker>().setEnabled(false);
            }
            GameSystem.EndRound();
        }