public void GameInfo(GameInfoEvent gameInfoEvent) { //TODO revisit what info we are sending game.GameSettings = gameInfoEvent.GameSettings; foreach (var player in gameInfoEvent.Players) { game.Players.Add(player.PlayerId, new Player { Name = player.Name }); } }
public void AddPlayer(Guid gameId, string playerConnectionId) { var player = _playerRepository.GetPlayer(playerConnectionId); var playerJoinedEvent = new PlayerJoinedEvent { Name = player.Name, PlayerId = player.ConnectionId }; _updater.PlayerJoinedGameLobbyEvent(gameId.ToString(), playerJoinedEvent); var game = _gameRepository.GetGame(gameId); game.Players.Add(player); var players = game.Players.Select(p => (p.ConnectionId, p.Name)).ToList(); var gameInfoEvent = new GameInfoEvent { Players = players, GameSettings = game.GameSettings }; _updater.GameInfoEvent(player.ConnectionId, gameInfoEvent); }
public void GameInfoEvent(string connectionId, GameInfoEvent payload) { _hubContext.Clients.Client(connectionId).SendAsync(nameof(IGameActions.GameInfoEvent), payload); }