public MainWindow() { InitializeComponent(); mainWindow = this; this.Title = "[Tera-Online] {ProjectS1.Launcher}"; launcherConfig = new Config(); }
private List<Exporter> exporters; // экспортёры /// <summary> /// Конструктор /// </summary> public ModDBExportLogic() { normalWork = true; workState = Localization.UseRussian ? "норма" : "normal"; log = null; infoFileName = ""; infoThread = null; config = null; exporters = null; }
/// <summary> /// Конструктор /// </summary> public Exporter(Config.ExportDestination expDest, Log log) { if (expDest == null) throw new ArgumentNullException("expDest"); this.log = log; curSrezQueue = new Queue<SrezTableLight.Srez>(MaxQueueSize); arcSrezQueue = new Queue<SrezTableLight.Srez>(MaxQueueSize); evQueue = new Queue<EventTableLight.Event>(MaxQueueSize); thread = null; terminated = false; running = false; ResetStats(); DataSource = expDest.DataSource; ExportParams = expDest.ExportParams; }
/// <summary> /// Выполнить действия при запуске работы сервера /// </summary> public override void OnServerStart() { // вывод в журнал log = new Log(Log.Formats.Simple); log.Encoding = Encoding.UTF8; log.FileName = AppDirs.LogDir + LogFileName; log.WriteBreak(); log.WriteAction(string.Format(ModPhrases.StartModule, Name)); // определение полного имени файла информации infoFileName = AppDirs.LogDir + InfoFileName; // загрука конфигурации config = new Config(AppDirs.ConfigDir); string errMsg; if (config.Load(out errMsg)) { // создание и запуск экспортёров exporters = new List<Exporter>(); foreach (Config.ExportDestination expDest in config.ExportDestinations) { Exporter exporter = new Exporter(expDest, log); exporters.Add(exporter); exporter.Start(); } // создание и запуск потока для обновления файла информации infoThread = new Thread(() => { while (true) { WriteInfo(); Thread.Sleep(InfoThreadDelay); } }); infoThread.Start(); } else { normalWork = false; workState = Localization.UseRussian ? "ошибка" : "error"; WriteInfo(); log.WriteAction(errMsg); log.WriteAction(ModPhrases.NormalModExecImpossible); } }