示例#1
0
        public IActionResult CreateLobbyGuest(CreateLobbyGuestRequest createLobbyGuestRequest)
        {
            if (HttpContext.User.Identity is ClaimsIdentity identity && identity.IsAuthenticated)
            {
                return(BadRequest());
            }

            var lobbyPlayer = new LobbyPlayer
            {
                Id       = Guid.NewGuid(),
                Username = createLobbyGuestRequest.Username,
                IsLeader = true
            };
            var lobbyDto = _lobbyHandler.CreateLobby(lobbyPlayer);
            var jwtToken = _playerService.Enter(lobbyPlayer.Id, lobbyDto.Code);

            return(Ok(new
            {
                Lobby = lobbyDto,
                AccessToken = jwtToken
            }));
        }
示例#2
0
 public async Task CreateLobby(HumanPlayer hp)
 {
     var lobby = LobbyHandler.CreateLobby(hp);
     await Clients.Caller.SendAsync("ReceiveLobbyId", lobby.Id.ToString());
 }