public void HandleMove(Move move) { _user.MoveHistory.Add(move.MovedTileIndex); var incomingMove = new IncomingMove { MoveHistory = _user.MoveHistory, Username = _user.Username }; var users = _connection.Players.Concat(_connection.Watchers); foreach (var user in users) { if (user.ConnectionId != _user.ConnectionId) { _gameHubContext.SendPlayerMove(user.ConnectionId, incomingMove); } } if (IsWinningMove()) { _gameHubContext.SendWinConfirmedNotification(_user.ConnectionId); foreach (var user in _connection.Players) { if (user.ConnectionId != _user.ConnectionId) { _gameHubContext.SendPlayerWinNotification(user.ConnectionId, _user.Username); } } _gameData.EndGame(_connection); } }