예제 #1
0
        public void ActivateCard(Guid gameStateId, Guid cardId)
        {
            IGameState gameState  = PersistanceService.GetGameState(gameStateId);
            Card       activeCard = PersistanceService.GetCard(cardId);

            gameState.ActiveCardId = activeCard.CardId;
            gameState.GameEvents.AddRange(activeCard.CardEvents);
            GameStateService.UpdateGameState(gameStateId, gameState);
        }
예제 #2
0
        public QueryResponse <IGameEvent> GetNextGameEvent(Guid gameStateId)
        {
            var        response  = new QueryResponse <IGameEvent>();
            IGameState gameState = PersistenceService.GetGameState(gameStateId);

            IGameEvent gameEvent = gameState.GameEvents?.ElementAtOrDefault(0);

            if (gameEvent != null)
            {
                response.Status = QueryStatus.OK;
                response.Result = gameEvent;
            }
            else
            {
                response.Status = QueryStatus.NotFound;
            }

            return(response);
        }