public static void RemoveAll(ManagedMods mods) { LogFile.WriteLine("Removing all installed mods"); // Delete bundled archives: DeployArchiveList deployArchives = new DeployArchiveList(mods.GamePath); foreach (DeployArchive deployArchive in deployArchives) { LogFile.WriteLine($" Removing {deployArchive.ArchiveName}"); if (File.Exists(deployArchive.GetArchivePath())) { File.Delete(deployArchive.GetArchivePath()); } mods.Resources.Remove(deployArchive.ArchiveName); } LogFile.WriteLine($" Deleting temporary folders"); deployArchives.DeleteTempFolder(); // Remove mods: foreach (ManagedMod mod in mods) { LogFile.WriteLine($" Removing mod {mod.Title}"); ModDeployment.Remove(mod, mods.Resources, mods.GamePath); } mods.Save(); }
/// <summary> /// Deletes all files of the mod and removes it from the list. /// Saves the xml file afterwards. /// </summary> public static void DeleteMod(ManagedMods mods, int index, Action <Progress> ProgressChanged = null) { ModDeployment.Remove(mods[index], mods.Resources, mods.GamePath); ModActions.DeleteFiles(mods[index]); mods.RemoveAt(index); mods.Save(); ProgressChanged?.Invoke(Progress.Done("Mod deleted.")); }