using System.ComponentModel; using DotNetCTFDumper.GUI; using DotNetCTFDumper.MMFParser.EXE.Loaders.Banks; using static DotNetCTFDumper.MMFParser.EXE.Exe; namespace DotNetCTFDumper.Utils { public static class Backend { public static void DumpSounds(MainForm form,bool load,bool save) { using (var worker = new BackgroundWorker()) { if (Instance.GameData.GameChunks.GetChunk() == null) return; form.SetSoundElements(true); worker.DoWork += (senderA, eA) => { Instance.GameData.GameChunks.GetChunk().Read(save); }; worker.RunWorkerCompleted += (senderA, eA) => { form.SetSoundElements(false); MainForm.IsDumpingSounds = false; }; worker.RunWorkerAsync(); } } public static void DumpImages(MainForm form,bool load,bool save) { using (var worker = new BackgroundWorker()) { if (Instance.GameData.GameChunks.GetChunk() == null) return; form.SetImageElements(true); worker.DoWork += (senderA, eA) => { Instance.GameData.GameChunks.GetChunk().PreloadOnly = false; Instance.GameData.GameChunks.GetChunk().Read(load,save); }; worker.RunWorkerCompleted += (senderA, eA) => { form.SetImageElements(false); MainForm.IsDumpingImages = false; }; worker.RunWorkerAsync(); } } public static void DumpMusics(MainForm form,bool load,bool save) { using (var worker = new BackgroundWorker()) { if (Instance.GameData.GameChunks.GetChunk() == null) return; form.SetMusicElements(true); worker.DoWork += (senderA, eA) => { Instance.GameData.GameChunks.GetChunk().Read(save); }; worker.RunWorkerCompleted += (senderA, eA) => { form.SetMusicElements(false); MainForm.IsDumpingMusics = false; }; worker.RunWorkerAsync(); } } } }