示例#1
0
        public async Task SendLobbyMessageGuest(string message, string lobbyCode)
        {
            if (!(Context.User.Identity is ClaimsIdentity identity))
            {
                return;
            }

            var playerId = identity.FindFirst(JwtService.PlayerIdClaim).Value;

            if (playerId == null || !Guid.TryParse(playerId, out var playerGuid))
            {
                return;
            }

            var player = _lobbyHandler.GetPlayerDto(playerGuid);

            if (player == null)
            {
                return;
            }

            var messageDto = _lobbyHandler.SendMessage(player.Id, message, lobbyCode);
            await Clients.Groups(lobbyCode).SendAsync("Chat", messageDto);
        }