Пример #1
0
 public MainWindow()
 {
     InitializeComponent();
     mainWindow = this;
     this.Title = "[Tera-Online] {ProjectS1.Launcher}";
     launcherConfig = new Config();
 }
Пример #2
0
        private List<Exporter> exporters; // экспортёры


        /// <summary>
        /// Конструктор
        /// </summary>
        public ModDBExportLogic()
        {
            normalWork = true;
            workState = Localization.UseRussian ? "норма" : "normal";
            log = null;
            infoFileName = "";
            infoThread = null;
            config = null;
            exporters = null;
        }
Пример #3
0
        /// <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;
        }
Пример #4
0
        /// <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);
            }
        }