예제 #1
0
 public HttpResponseMessage StartGame(string sessionKey, int gameId)
 {
     var responseMsg = this.PerformOperation(() =>
     {
         var userId = UserDataPersister.LoginUser(sessionKey);
         GameDataPersister.StartGame(gameId);
     });
     return responseMsg;
 }
예제 #2
0
 public HttpResponseMessage GetActiveGames(string sessionKey)
 {
     var responseMsg = this.PerformOperation(() =>
     {
         var userId = UserDataPersister.LoginUser(sessionKey);
         IEnumerable<OpenGameModel> games = GameDataPersister.GetActiveGames(userId);
         return games;
     });
     return responseMsg;
 }
예제 #3
0
 public HttpResponseMessage JoinGame(string sessionKey, [FromBody]
                                     GameModel gameModel)
 {
     var responseMsg = this.PerformOperation(() =>
     {
         var userId = UserDataPersister.LoginUser(sessionKey);
         GameDataPersister.JoinGame(userId, gameModel.Id, gameModel.Password);
     });
     return responseMsg;
 }
예제 #4
0
        public HttpResponseMessage GetOpenGames(string sessionKey)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                var userId = UserDataPersister.LoginUser(sessionKey);
                var games  = GameDataPersister.GetOpenGames(userId);
                return(games);
            });

            return(responseMsg);
        }
예제 #5
0
        public HttpResponseMessage PerformDefend(string sessionKey, int gameId, [FromBody]
                                                 int unitId)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                var userId = UserDataPersister.LoginUser(sessionKey);
                BattleDataPersister.PerformDefend(userId, gameId, unitId);
                return(GameDataPersister.GetBattleField(gameId));
            });

            return(responseMsg);
        }
예제 #6
0
        public HttpResponseMessage PerformAttack(string sessionKey, int gameId, [FromBody]
                                                 MoveModel move)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                var userId = UserDataPersister.LoginUser(sessionKey);
                BattleDataPersister.PerformAttack(userId, gameId, move.UnitId, move.Position.X, move.Position.Y);
                return(GameDataPersister.GetBattleField(gameId));
            });

            return(responseMsg);
        }
예제 #7
0
        public HttpResponseMessage GetBattleField(string sessionKey, int gameId)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                UserDataPersister.LoginUser(sessionKey);

                BattleFieldModel gameField = GameDataPersister.GetBattleField(gameId);

                return gameField;
            });
            return responseMsg;
        }
예제 #8
0
        public HttpResponseMessage StartGame(string sessionKey, int gameId)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                var userId = UserDataPersister.LoginUser(sessionKey);
                GameDataPersister.StartGame(gameId);
            });

            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                responseMsg.StatusCode = HttpStatusCode.NoContent;
            }
            return(responseMsg);
        }
예제 #9
0
        public HttpResponseMessage JoinGame(string sessionKey, [FromBody]
                                            GameModel gameModel)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                var userId = UserDataPersister.LoginUser(sessionKey);
                GameDataPersister.JoinGame(userId, gameModel.Id, gameModel.Password);
            });

            if (responseMsg.StatusCode == HttpStatusCode.OK)
            {
                responseMsg.StatusCode = HttpStatusCode.NoContent;
            }
            return(responseMsg);
        }