示例#1
0
        public HubResponse HandlePlayerResponse(string connectionId, PlayerResponseRequest request)
        {
            var game = GetGame(request.RoomCode);

            switch ((Common.Models.Enum.GameType)game.GameTypeID)
            {
            case Common.Models.Enum.GameType.NeverHaveIEver:
                var gameData = game.GameData;
                var round    = gameData.Rounds.FirstOrDefault(e => e.RoundNumber == game.CurrentRoundNumber);

                // TODO: make this check more robust
                if (!string.IsNullOrWhiteSpace(request.Statement))
                {
                    // save statement
                    round.Statement = request.Statement;
                }
                else
                {
                    // save answer for the given player

                    // TODO: check if we have received all expected answers and handle accordingly
                    round.Answers.Add(connectionId, request.Answer);
                }

                break;

            default:
                return(new HubErrorResponse {
                    Message = $"Game was already started!", Method = "HandlePlayerResponse"
                });
            }
        }
示例#2
0
 public async Task HandlePlayerResponse(PlayerResponseRequest request)
 {
     // TODO: should handle based on game type id sent in request
     // TODO: Takes player response (could be statement or answer to statement ) and updates current round data
     throw new NotImplementedException();
 }