public bool AddPlayerToTeam(Player player) { AlivePlayers.Add(player); Scores.Add(player, 0); SpawnPlayer(player); return(true); }
public void ProcessDisconnectionEvent(Player player) { if (player == null) { return; } AlivePlayers.Remove(player); if (AlivePlayers.Count <= 1) { Events.Raise(ServerEvents.EndMission); } }
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); } }
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; }