Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 public Task PlayerUpdate(CurrentLobbyPlayersDto data)
 {
     System.Console.WriteLine("Current lobby players: " + string.Join(",", data.PlayerConnections));
     _playerUpdateCallback(data);
     return(Task.CompletedTask);
 }