public async Task RunAsync() { await _mapInstanceProvider.InitializeAsync().ConfigureAwait(false); _logger.Information(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.SUCCESSFULLY_LOADED)); _events.ForEach(e => { Observable.Interval(e.Delay).Subscribe(_ => e.ExecutionAsync()); }); AppDomain.CurrentDomain.ProcessExit += (s, e) => { var eventSaveAll = new SaveAll(_logger); _ = eventSaveAll.ExecutionAsync(); _logger.Information(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.CHANNEL_WILL_EXIT)); Thread.Sleep(30000); }; try { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { Console.Title += $@" - Port : {_worldConfiguration.Value.Port} - WebApi : {_worldConfiguration.Value.WebApi}"; } _logger.Information(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.LISTENING_PORT), _worldConfiguration.Value.Port); await Task.WhenAny(_channelHttpClient.ConnectAsync(), _networkManager.RunServerAsync()).ConfigureAwait(false); } catch { Console.ReadKey(); } }
public async Task RunAsync() { if (_worldConfiguration == null) { return; } await _mapInstanceProvider.InitializeAsync().ConfigureAwait(false); _logger.Information(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.SUCCESSFULLY_LOADED)); _events.ForEach(e => { Observable.Interval(e.Delay).Subscribe(_ => e.ExecutionAsync()); }); AppDomain.CurrentDomain.ProcessExit += (s, e) => { var eventSaveAll = new SaveAll(_logger); eventSaveAll.ExecutionAsync().Forget(); _logger.Information(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.CHANNEL_WILL_EXIT)); Thread.Sleep(30000); }; try { try { Console.Title += $@" - Port : {_worldConfiguration.Port} - WebApi : {_worldConfiguration.WebApi}"; } catch (PlatformNotSupportedException) { _logger.Warning(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.PLATFORM_UNSUPORTED_CONSOLE_TITLE)); } _logger.Information(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.LISTENING_PORT), _worldConfiguration.Port); await Task.WhenAny(_channelHttpClient.ConnectAsync(), _networkManager.RunServerAsync()).ConfigureAwait(false); } catch { Console.ReadKey(); } }