Ejemplo n.º 1
0
        private void OnMatchmakingFoundMatchup(object sender, Matchmaking.MatchCreatedArgs matchCreatedArgs)
        {
            lock (_runningGames)
            {
                _gameIdentifier++;

                var game = new ServerGame(this, _supervisorFactory.Create(matchCreatedArgs.GameMode), matchCreatedArgs.Users, _settingsFactory.Create(matchCreatedArgs.GameMode), _gameIdentifier, _logger);
                foreach (var serverUser in matchCreatedArgs.Users)
                {
                    matchCreatedArgs.Source.LeaveQueue(serverUser);
                    game.HandleReconnect(serverUser);
                }
                _runningGames.TryAdd(_gameIdentifier, game);
            }
        }
Ejemplo n.º 2
0
        void IServer.HandleGameEnded(ServerGame serverGame)
        {
            ServerGame game;

            _runningGames.TryRemove(serverGame.GameIdentifier, out game);
        }