예제 #1
0
        private void ProcessHoles(string[] parts, Guid roundId)
        {
            var hole1   = ParseCard(parts[1]);
            var hole2   = ParseCard(parts[2]);
            var request = new NotifyHeroHolesRequest()
            {
                Holes = new List <Card>()
                {
                    hole1, hole2
                },
                RoundId = roundId
            };

            _rm.NotifyHeroHoles(request);
        }
예제 #2
0
        public DummyResponse NotifyHeroHoles(NotifyHeroHolesRequest request)
        {
            if (!Rounds.ContainsKey(request.RoundId))
            {
                throw new InvalidOperationException($"Round with {request.RoundId} not found!");
            }

            var round = Rounds[request.RoundId];

            round.StageEnum = StageEnum.Preflop;
            var roundSetup = RoundSetups[request.RoundId];

            roundSetup.Hole1 = request.Holes[0];
            roundSetup.Hole2 = request.Holes[1];

            return(new DummyResponse()
            {
                Action = new ExpectedAction
                {
                    Action = ExpectedActionEnum.Decision,
                    PlayerName = round.GetCurrentPlayer().Name
                }
            });
        }
예제 #3
0
        public IActionResult NotifyHeroHoles([FromBody] NotifyHeroHolesRequest request)
        {
            var response = RoundManager.Instance.NotifyHeroHoles(request);

            return(Ok(response));
        }