public void TableChanged(int tableId, IPlayTableService playTableService) { var tablePlayers = playTableService.GetPlayersOfTable(tableId); var tableViewers = playTableService.GetTableViewer(tableId); var tableState = TableHubUtils.GetTableState(tableId, playTableService, _mapper); Parallel.ForEach(tablePlayers, (tablePlayer) => { var clientUser = getClientUser(tablePlayer.PlayerId); if (clientUser != null) { clientUser.PlayerTableState(tableState); } }); // for all viewers of the table Parallel.ForEach(tableViewers, (tableViewer) => { var clientUser = getClientUser(tableViewer.userId); if (clientUser != null) { clientUser.SpectatorTable(tableState); } }); }
public async Task PlayerCards() { int userId; TryParsUserId(out userId); var cards = TableHubUtils.GetPlayerCards(userId, _tablesService); await Clients.User(userId.ToString()).PlayerCards(cards); }
public void OnSpectatorStateChanged(int userId, IPlayTableService playTableService) { var clientUser = getClientUser(userId); if (clientUser != null) { clientUser.SpectatorState(TableHubUtils.GetViewWerModel(userId, playTableService, _mapper)); } }
public async Task SpectatorState() { int userId; if (TryParsUserId(out userId)) { await Clients.User(userId.ToString()).SpectatorState(TableHubUtils.GetViewWerModel(userId, _tablesService, _mapper)); } }
public async Task PlayerCardsForSpectator() { int userId; TryParsUserId(out userId); //for viewers var viewer = _tablesService.GetTableViewerByUserId(userId); var cards = TableHubUtils.GetPlayerCards(viewer.SeePlayerCard, _tablesService); await Clients.User(userId.ToString()).PlayerCardsForSpectator(cards); }
public async Task SpectatorTable() { int userId; PlayTableStaeModel state = null; if (TryParsUserId(out userId)) { var viewer = _tablesService.GetTableViewerByUserId(userId); if (viewer != null) { state = TableHubUtils.GetTableState(viewer.tableId, _tablesService, _mapper); } } await Clients.User(Context.UserIdentifier).SpectatorTable(state); }
public Task UpdatePlayerTableState(int playerId = -1) { if (playerId < 0) { string userId = Context.UserIdentifier; } PlayTableStaeModel modelValue = null; if (TryParsUserId(out playerId)) { if (playerId > 0) { modelValue = TableHubUtils.GetTablePLayerState(playerId, _tablesService, _mapper); return(Clients.User(playerId.ToString()).PlayerTableState(modelValue)); } } return(Task.FromResult <PlayTableStaeModel>(null)); }
public async void TableListChanged(IPlayTableService playTableService) { await _hub.Clients.All.Tables(TableHubUtils.GetTablesWithUserCount(playTableService, _mapper)); }
public async Task Tables() { await Clients.All.Tables(TableHubUtils.GetTablesWithUserCount(_tablesService, _mapper)); }