Example #1
0
        public void VoteForParty(long gameId, string username, ApprovalVoteOptionsEnum approvalVote)
        {
            var player = _playerAccessor.GetPlayer(gameId, username);

            player.ApprovalVote = approvalVote;

            _playerAccessor.UpdatePlayer(player);
        }
Example #2
0
        public async Task VoteForParty(ApprovalVoteOptionsEnum approvalVote)
        {
            _playerEngine.VoteForParty(GameId, Username, approvalVote);

            if (_gameEngine.TryToApproveParty(GameId, out Dictionary <string, ApprovalVoteOptionsEnum> userVotes, out string newKingUsername))
            {
                if (_gameEngine.HaveFivePartiesFailed(GameId))
                {
                    var gameSummary = _gameEngine.EndGame(GameId, GameResultEnum.EvilWins);
                    await Clients.Groups(PublicGameId).ReceiveUserApprovalVotes(userVotes, newKingUsername, gameSummary);
                }
                else
                {
                    await Clients.Groups(PublicGameId).ReceiveUserApprovalVotes(userVotes, newKingUsername);
                }
            }
        }