示例#1
0
        public async Task <IActionResult> CreateGame([FromBody] HostGameOptions gameOptions)
        {
            var user    = HttpContext.User.GetSubClaim();
            var created = await gamesService.CreateGame(user, gameOptions);

            return(Created($"/api/games/{created.Id}", created));
        }
示例#2
0
        private void StartServerMode()
        {
            this.monitor.Log($"Backuping {nameof(HostPlayerData)}", LogLevel.Info);
            HostPlayerData.BackupHostData(this.helper);

            this.monitor.Log($"Backuping {nameof(HostGameOptions)}", LogLevel.Info);
            HostGameOptions.BackupHostOptions(this.helper);

            this.monitor.Log("Headless mode is now activated!", LogLevel.Info);
            Game1.chatBox.addInfoMessage($"[{nameof(SVHeadlessHost)}] The Host ACTIVATED headless mode!");
        }
示例#3
0
        public async Task <OrganizedGameResponse> CreateGame(string userId, HostGameOptions options)
        {
            var gameType = gamesRepository.Get(options.GameTypeId);

            if (gameType is null)
            {
                throw new NotFoundException("game type does not exist");
            }

            var organizedGame = mapper.Map <OrganizedGame>(options);

            organizedGame.OrganizerId = userId;
            organizedGame             = await organizedGamesRepository.Add(organizedGame);

            return(mapper.Map <OrganizedGameResponse>(organizedGame));
        }