public GameManager(ILogger <GameManager> logger, IOptions <ServerConfig> config, INodeLocator nodeLocator, IServiceProvider serviceProvider, IEventManager eventManager, IGameCodeFactory gameCodeFactory) { _logger = logger; _nodeLocator = nodeLocator; _serviceProvider = serviceProvider; _eventManager = eventManager; _gameCodeFactory = gameCodeFactory; _publicIp = new IPEndPoint(IPAddress.Parse(config.Value.ResolvePublicIp()), config.Value.PublicPort); _games = new ConcurrentDictionary <int, Game>(); }
public GameCodeManager(ILogger <GameCodeManager> logger, IGameCodeFactory codeFactory, IEventManager eventManager) { this._logger = logger; this._codeFactory = codeFactory; logger.LogInformation("Boot.Codes: Reading files from {Path}", Path); var validCodes = Read().ToList(); if (validCodes.Count == 0) { return; } validCodes.Shuffle(); this.FourCharCodes = validCodes.Count(code => code.Code.Length == 4); this.SixCharCodes = validCodes.Count(code => code.Code.Length == 6); this._codes = validCodes; this._inUse = new HashSet <GameCode>(); eventManager.RegisterListener(new GameEventListener(this)); }