public static void LoadExistingMission(string fileName) { var loadingDialog = new LoadingDialog { Owner = MainWindow.Instance }; loadingDialog.Loaded += (s, e) => Utils.InvokeInNewThread(delegate { var mission = Mission.FromFile(fileName); loadingDialog.Text = "Scanning"; using (var unitSync = new UnitSync(Settings.Default.SpringPath)) { unitSync.LoadingStatusChanged += (se, ea) => loadingDialog.Text = ea.Data; loadingDialog.Text = "Loading Map"; mission.Map = LoadMap(unitSync, mission.MapName); loadingDialog.Text = "Loading Mod"; mission.Mod = LoadMod(unitSync, mission.ModName); } loadingDialog.Text = "Finalizing"; mission.PostLoad(); Settings.Default.MissionPath = fileName; Settings.Default.Save(); loadingDialog.Invoke(delegate { loadingDialog.Close(); MainWindow.Instance.SavePath = fileName; MainWindow.Instance.Mission = mission; }); }); loadingDialog.ShowDialog(); }
public static void SendMissionWithDialog(Mission mission, string password, int?missionId) { var loading = new LoadingDialog { Text = "Uploading Mission", Owner = MainWindow.Instance }; loading.Loaded += delegate { Utils.InvokeInNewThread(delegate { SendMission(mission, password, missionId); loading.Invoke(loading.Close); }); }; loading.ShowDialog(); }
#pragma warning restore 612,618 void OpenButton_Click(object sender, RoutedEventArgs e) { var loadingDialog = new LoadingDialog { Text = "Opening Mission", Owner = this }; var selectedMission = (Mission)DataGrid.SelectedItem; if (selectedMission == null) { return; } Utils.InvokeInNewThread(delegate { try { var client = MissionServiceClientFactory.MakeClient(); var missionData = client.GetMission(selectedMission.Name); loadingDialog.Invoke(delegate { loadingDialog.Close(); var filter = "Spring Mod Archive (*.sdz)|*.sdz|All files (*.*)|*.*"; var saveFileDialog = new SaveFileDialog { DefaultExt = "sdz", Filter = filter, RestoreDirectory = true }; if (saveFileDialog.ShowDialog() == true) { File.WriteAllBytes(saveFileDialog.FileName, missionData.Mutator.ToArray()); } WelcomeDialog.LoadExistingMission(saveFileDialog.FileName); }); } catch (FaultException <ExceptionDetail> ex) { MessageBox.Show(ex.Message); } }); loadingDialog.ShowDialog(); }
#pragma warning restore 612,618 void OpenButton_Click(object sender, RoutedEventArgs e) { var loadingDialog = new LoadingDialog { Text = "Opening Mission", Owner = this }; var selectedMission = (Mission)DataGrid.SelectedItem; if (selectedMission == null) return; Utils.InvokeInNewThread(delegate { try { var client = MissionServiceClientFactory.MakeClient(); var missionData = client.GetMission(selectedMission.Name); loadingDialog.Invoke(delegate { loadingDialog.Close(); var filter = "Spring Mod Archive (*.sdz)|*.sdz|All files (*.*)|*.*"; var saveFileDialog = new SaveFileDialog { DefaultExt = "sdz", Filter = filter, RestoreDirectory = true }; if (saveFileDialog.ShowDialog() == true) File.WriteAllBytes(saveFileDialog.FileName, missionData.Mutator.ToArray()); WelcomeDialog.LoadExistingMission(saveFileDialog.FileName); }); } catch (FaultException<ExceptionDetail> ex) { MessageBox.Show(ex.Message); } }); loadingDialog.ShowDialog(); }
public static void SendMissionWithDialog(Mission mission, string password, int? missionId) { var loading = new LoadingDialog { Text = "Uploading Mission", Owner = MainWindow.Instance }; loading.Loaded += delegate { Utils.InvokeInNewThread(delegate { SendMission(mission, password, missionId); loading.Invoke(loading.Close); }); }; loading.ShowDialog(); }