public override void OnStart()
        {
            _packetSender.Start(false);

            _matchMaker.Start();
            var listeners           = GetListeners();
            var shamanMessageSender = _messageSenderFactory.Create(_packetSender);

            foreach (var listener in listeners)
            {
                listener.Initialize(_matchMaker, shamanMessageSender, _roomManager, _matchMakingGroupManager, Config.AuthSecret);
            }
        }
        public override void OnStart()
        {
            _packetSender.Start();

            Logger.Info($"Game server started...");

            var listeners           = GetListeners();
            var shamanMessageSender = _messageSenderFactory.Create(_packetSender);

            foreach (var listener in listeners)
            {
                listener.Initialize(_roomManager, shamanMessageSender, Config.AuthSecret);
            }
        }
 public RoomManager(
     IShamanLogger logger,
     ISerializer serializer,
     IApplicationConfig config,
     ITaskSchedulerFactory taskSchedulerFactory,
     IRoomControllerFactory roomControllerFactory,
     IPacketSender packetSender,
     IShamanMessageSenderFactory messageSenderFactory,
     IGameMetrics gameMetrics,
     IRoomStateUpdater roomStateUpdater)
 {
     _logger                = logger;
     _serializer            = serializer;
     _taskSchedulerFactory  = taskSchedulerFactory;
     _roomControllerFactory = roomControllerFactory;
     _taskScheduler         = _taskSchedulerFactory.GetTaskScheduler();
     _taskScheduler.ScheduleOnInterval(CheckRoomsState, 0, 60000);
     _config = config;
     _taskSchedulerFactory = taskSchedulerFactory;
     _messageSender        = messageSenderFactory.Create(packetSender);
     _gameMetrics          = gameMetrics;
     _roomStateUpdater     = roomStateUpdater;
 }