// scan for content when no cache data is found (or when scan button is hit) private void ScanForContent() { tocFiles = main.Host.getTOCFiles(); StatusBarProgressBar.Maximum = tocFiles.Count; StatusBarProgressBar.Value = 0; LoadBackgroundWorker.RunWorkerAsync(); }
// Background worker functions (used for scanning content) // // display only toc which have bundles containing morph res // ignore patch toc private void LoadBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { int progress = 0; var tocToRemove = new List <string>(); foreach (string toc in tocFiles) { LoadBackgroundWorker.ReportProgress(progress); try { if (toc.Contains("Patch")) { // ignore Patch data tocToRemove.Add(toc); } else { var TocValidBundles = FilterBundles(toc); if (TocValidBundles.Count > 0) { bundlePaths.Add(toc, TocValidBundles); } else { tocToRemove.Add(toc); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } progress++; } tocToRemove.ForEach(t => tocFiles.Remove(t)); }