private async Task BroadCastCurrentPlayersAsync(string lobby) { var assignments = _connectionManager.GetConnectionsFor(lobby).ToList(); var msg = new CurrentLobbyPlayersDto { PlayerConnections = assignments .Select(a => a.PlayerIndex).ToArray() }; // Parallel? // TODO use SignalR Groups and Users maybe? foreach (var assigment in assignments) { await Clients.Client(assigment.ConnectionId).PlayerUpdate(msg); } }
public Task PlayerUpdate(CurrentLobbyPlayersDto data) { System.Console.WriteLine("Current lobby players: " + string.Join(",", data.PlayerConnections)); _playerUpdateCallback(data); return(Task.CompletedTask); }