예제 #1
0
        public static void LoadEditorLogicPreset(string Path, string WebPath, object sender, EventArgs e, string WebDicOverride = "")
        {
            try
            {
                if (LogicEditor.EditorForm == null)
                {
                    return;
                }

                var LEditorForm = LogicEditor.EditorForm;

                if (!LEditorForm.PromptSave())
                {
                    return;
                }
                string[] Lines = null;
                if (File.Exists(Path))
                {
                    Lines = File.ReadAllLines(Path);
                    Debugging.Log(Path);
                }
                else
                {
                    System.Net.WebClient wc = new System.Net.WebClient();
                    string webData          = wc.DownloadString(WebPath);
                    Lines = webData.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
                    Debugging.Log(WebPath);
                }

                List <LogicObjects.LogicDictionaryEntry> DicOverride = null;
                if (WebDicOverride != "")
                {
                    try
                    {
                        System.Net.WebClient wc = new System.Net.WebClient();
                        string webData          = wc.DownloadString(WebDicOverride);
                        var    DicLines         = webData.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
                        var    csv = Utility.ConvertCsvFileToJsonObject(DicLines);
                        DicOverride = JsonConvert.DeserializeObject <List <LogicObjects.LogicDictionaryEntry> >(csv);
                        Debugging.Log(WebDicOverride);
                    }
                    catch { DicOverride = null; }
                }

                LogicEditor.EditorInstance = new LogicObjects.TrackerInstance();
                LogicEditor.EditorInstance.LogicDictionary = DicOverride;
                Tools.CreateTrackerInstance(LogicEditor.EditorInstance, Lines.ToArray());

                LogicEditor.AssignUniqueItemnames(LogicEditor.EditorInstance.Logic);
                if (LogicEditor.EditorInstance.Logic.Count < Convert.ToInt32(LEditorForm.nudIndex.Value))
                {
                    LEditorForm.nudIndex.Value = LogicEditor.EditorInstance.Logic.Count - 1;
                }
                LogicEditor.EditorForm.FormatForm(Convert.ToInt32(LEditorForm.nudIndex.Value));
            }
            catch
            {
                MessageBox.Show("Preset File Invalid! If you have not tampered with the preset files in \"Recources\\Other Files\\\" Please report this issue. Otherwise, redownload or delete those files.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #2
0
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     Mouse.OverrideCursor = Cursors.AppStarting;
     try
     {
         logicEditor = new LogicEditor();
     }
     catch (Exception)
     {
         logger.Error("Ошибка при создании объекта логической модели");
         MessageBox.Show("Произошла непредвиденная ситуация.", "Ошибка БД", MessageBoxButton.OK, MessageBoxImage.Error);
         Mouse.OverrideCursor = Cursors.Arrow;
         return;
     }
     SetParameters();
     BindLokomotives();
     BindStations();
     BindCodes();
     Mouse.OverrideCursor = Cursors.Arrow;
     LightenRefreshButton();
 }
예제 #3
0
 private void mLogicEdit_Click(object sender, EventArgs e)
 {
     LogicEditor.Show();
 }