public override void ClientVote(GameMsg_ClVote message, BasePlayer player) { if (ActiveVote == null) { return; } if (PlayersVoteInfo[player.ClientId].Vote == 0) { if (message.Vote == 0) { return; } PlayersVoteInfo[player.ClientId].Vote = message.Vote; for (var i = 0; i < GameContext.Players.Length; i++) { if (player.ClientId == i || GameContext.Players[i] == null || GameContext.Players[i].Team == Team.Spectators || !Server.ClientEndPoint(i) .Compare(Server.ClientEndPoint(player.ClientId), false)) { continue; } if (PlayersVoteInfo[i].Vote != 0) { return; } } if (message.Vote > 0) { ActiveVote.VotesYes++; } else if (message.Vote < 0) { ActiveVote.VotesNo++; } SendVoteStatus(null); CheckVoteStatus(); } else if (ActiveVote.CallerId == player.ClientId) { } }
protected override void OnMsgClientVote(BasePlayer player, GameMsg_ClVote message) { Votes.ClientVote(message, player); }
public abstract void ClientVote(GameMsg_ClVote message, BasePlayer player);
protected abstract void OnMsgClientVote(BasePlayer player, GameMsg_ClVote message);