private void Button_Start_Click(object sender, RoutedEventArgs e) { // Show progress window progress = new InProgress(); progress.mainWindow = this; progress.Text_Plugin.Text = GetPluginName(); progress.Text_Version.Text = engineVersion; progress.Show(); progress.bZip = Check_Zip.IsChecked.Value; Hide(); FireUpBackgroundWorker(); }
private void Button_StartAll_Click(object sender, RoutedEventArgs e) { waiting_progress.Clear(); // Find each valid ini if (Directory.Exists(GetConfigDirectory())) { string[] iniFiles = Directory.GetFiles(GetConfigDirectory(), "*.ini"); foreach (string i in iniFiles) { if (File.Exists(i)) { // Remove the directory path string fileVersion = i.Split('\\').Last(); // Remove the extension fileVersion = fileVersion.Split('.').First(); // Change to next ini LoadEngineVersion(fileVersion, false); if (Button_Start.IsEnabled) { // Valid ini, create progress window // Show progress window InProgress newProgress = new InProgress(); newProgress.mainWindow = this; newProgress.Text_Plugin.Text = GetPluginName(); newProgress.Text_Version.Text = engineVersion; newProgress.bZip = Check_Zip.IsChecked.Value; waiting_progress.Add(new WaitingProgress(newProgress, fileVersion)); } } } } Check_Waiting_Progress(); }
public void Check_Waiting_Progress() { if (!bw.IsBusy) { // Remove completed progress if (progress != null && waiting_progress.Count > 0) { WaitingProgress pr = waiting_progress[0]; bool bFoundRemoval = false; for (int i = 0; i < waiting_progress.Count; i++) { pr = waiting_progress[i]; if (progress == pr.Progress) { bFoundRemoval = true; break; } } if (bFoundRemoval) { waiting_progress.Remove(pr); } } // Begin next progress if (waiting_progress.Count > 0) { progress = waiting_progress.First().Progress; progress.Show(); Hide(); LoadEngineVersion(waiting_progress.First().EngineVersion, false); FireUpBackgroundWorker(); } } }
public WaitingProgress(InProgress progress, string engineVersion) { Progress = progress; EngineVersion = engineVersion; }