Пример #1
0
 public bool AddPlayerToTeam(Player player)
 {
     AlivePlayers.Add(player);
     Scores.Add(player, 0);
     SpawnPlayer(player);
     return(true);
 }
Пример #2
0
        public void ProcessDisconnectionEvent(Player player)
        {
            if (player == null)
            {
                return;
            }
            AlivePlayers.Remove(player);

            if (AlivePlayers.Count <= 1)
            {
                Events.Raise(ServerEvents.EndMission);
            }
        }
Пример #3
0
        public void ProcessDeathEvent(Player player, Player killer)
        {
            if (player == null)
            {
                return;
            }
            AlivePlayers.Remove(player);
            if (killer != null)
            {
                Scores[killer]++;
            }

            if (AlivePlayers.Count <= 1)
            {
                Events.Raise(ServerEvents.EndMission);
            }
            else
            {
                Rpc.Event(DMEvents.Spectate).Trigger(player);
            }
        }
Пример #4
0
        public void CalculateVoteResults(VoteScope scope)
        {
            var voteResults = new VoteResults();

            try
            {
                voteResults.Scope = scope;
                switch (scope)
                {
                case VoteScope.Chancellor:
                {
                    voteResults.Result = ((CurrentRound.Votes.Where(v => v.VoteValue == VoteValue.Yes).Count()) > AlivePlayers.Where(p => p.Role == Role.Liberal).Count() / 2);
                    voteResults.Votes  = CurrentRound.Votes;
                }
                break;

                case VoteScope.Veto:
                {
                    voteResults.Result = CurrentRound.Votes[0].VoteValue == VoteValue.Yes;
                } break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("CalculateVoteResults.ex : " + ex.Message);
            }
            CurrentRound.VoteResults = voteResults;
        }