void Handle(GameLockChanged gameLockChanged) { var obs = GetOrAdd(gameLockChanged.GameId); lock (obs) { var state = new GameLockState(gameLockChanged.IsLocked, gameLockChanged.CanAbort); _currentValues[gameLockChanged.GameId] = state; obs.Item1.OnNext(state); } }
private void Handle(GameLockChanged notification) { if (notification.IsLocked) { _hubContext.Value.Clients.All.LockedGame(notification.GameId, notification.CanAbort); } else { _hubContext.Value.Clients.All.UnlockedGame(notification.GameId); } }
void Handle(GameLockChanged message) { if (message.CanAbort) { return; } if (Current != null) { Current.NextAction = null; Current.NextActionInfo = null; } }