/// <summary> /// 从文件加载 /// </summary> /// <param name="filename"></param> /// <returns></returns> public static IScriptLayout LoadOne(string filename) { string exname = filename.Split('.').Last(); IScriptLayout script = null; foreach (var item in exName) { if (item.Value == exname) { //if(item.Key == typeof(MainLayout).Name) //{ // script = new MainLayout(); //} if (item.Key == typeof(StackingMainLayout).Name) { //script = new StackingMainLayout(); } } } if (script == null) { return(null); } script.LoadFromJson(filename); return(script); }
/// <summary> /// 加载脚本 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Load_Click(object sender, RoutedEventArgs e) { System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog(); openFileDialog.Filter = "脚本项目文件 (*.sProject)|*.sProject"; if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ScriptConfig = JsonConvert.DeserializeObject <ScriptConfig>(openFileDialog.FileName.GetStringFromFile()); string path = System.IO.Path.GetDirectoryName(openFileDialog.FileName); foreach (var item in ScriptConfig.ScriptFiles) { IScriptLayout scriptLayout = new IScriptLayout(); scriptLayout.LoadFromJson(System.IO.Path.Combine(path, item + ".script")); scriptContent.ScriptControl.AddScript(StackingMainLayout.InstanceStackingMainLayout(scriptLayout)); } } }
/// <summary> /// 加载脚本 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Load_Script(object sender, RoutedEventArgs e) { System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog(); openFileDialog.Filter = "脚本项目文件 (*.sProject)|*.sProject"; if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ScriptConfig = JsonConvert.DeserializeObject <ScriptConfig>(openFileDialog.FileName.GetStringFromFile()); string path = System.IO.Path.GetDirectoryName(openFileDialog.FileName); projectPath = System.IO.Path.GetDirectoryName(openFileDialog.FileName); foreach (var item in ScriptConfig.ScriptFiles) { IScriptLayout scriptLayout = new IScriptLayout(); scriptLayout.LoadFromJson(System.IO.Path.Combine(path, item + ".script")); scriptLayout.ComipleMessageCall += logBox.WritLog; ScriptLayouts.Add(scriptLayout); } //加载任务 if (System.IO.File.Exists(System.IO.Path.Combine(projectPath, "projectTask.task"))) { ObservableCollection <ScriptTask> scriptTasks = Newtonsoft.Json.JsonConvert. DeserializeObject <ObservableCollection <ScriptTask> >(System.IO.Path.Combine(projectPath, "projectTask.task") .GetStringFromFile()); foreach (var listitem in scriptTasks) { foreach (var item in listitem.TaskItems) { IScriptLayout script = ScriptLayouts.FindOne(p => p.ScriptName == item.ScriptName); if (script != null) { item.ScriptLayout = script; } } TaskItems.Add(listitem); } scriptTasks.Clear(); scriptTasks = null; } } }