public async Task UninstallAddon(Addon addon) { var installedDirectories = addon.GetInstalledDirectories(); var addonFolder = _warcraftService.GetAddonFolderPath(addon.ClientType); RemoveThumbnail(addon); foreach (var dir in installedDirectories) { var addonDirectory = Path.Combine(addonFolder, dir); await FileUtilities.DeleteDirectory(addonDirectory); } _addonRepository.DeleteItem(addon); AddonUninstalled?.Invoke(this, new AddonEventArgs(addon, AddonChangeType.Uninstalled)); }
private async Task InstallUnzippedDirectory(string unzippedDirectory, WowClientType clientType) { var addonFolderPath = await _warcraftService.GetAddonFolderPath(clientType); var unzippedFolders = Directory.GetDirectories(unzippedDirectory); foreach (var unzippedFolder in unzippedFolders) { var unzippedDirectoryName = Path.GetFileName(unzippedFolder); var unzipLocation = Path.Combine(addonFolderPath, unzippedDirectoryName); FileUtilities.DirectoryCopy(unzippedFolder, unzipLocation); } }
public string GetFullInstallPath(Addon addon) => Path.GetFullPath(Path.Combine(_warcraftService.GetAddonFolderPath(addon.ClientType), addon.FolderName));