예제 #1
0
        public JsonResult NewGame(int gameDefId, NewGameModel newGameModel)
        {
            if (Platform.IsUserLogged())
            {
                newGameModel.Nick = User.Identity.Name;
            }

            try
            {
                newGameModel.Validate();
                Game = Platform.NewGameInstance(Platform.GetGameDefinitionById(gameDefId), newGameModel.Name, newGameModel.Password);
                int playerId = Game.AddPlayer(new Player(newGameModel.Nick, Permission.TYPE.Moderator));
                SaveGame(Game.Id);

                Platform.GameAuthentication.AddPermission(Game.Id, playerId, newGameModel.Nick, Crypto.HashPassword(newGameModel.Password), Permission.TYPE.Moderator);

                return(Json(new Result(new { gameId = Game.Id }).AsSuccess()));
            }
            catch (Error.ValidationException validation)
            {
                return(Json(validation.Result));
            }
        }