private async Task LoadModsFromServerFolder() { // build a list of mods to be processed var modIdList = new List <string>(); var modDirectory = new DirectoryInfo(Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath)); foreach (var file in modDirectory.GetFiles("*.mod")) { var modId = Path.GetFileNameWithoutExtension(file.Name); if (ModUtils.IsOfficialMod(modId)) { continue; } modIdList.Add(modId); } modIdList = ModUtils.ValidateModList(modIdList); var response = await Task.Run(() => SteamUtils.GetSteamModDetails(modIdList)); var workshopFiles = WorkshopFiles; var modsRootFolder = Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath); var modDetails = ModDetailList.GetModDetails(modIdList, modsRootFolder, workshopFiles, response); UpdateModDetailsList(modDetails); ModDetailsStatusMessage = modDetails.Count > 0 && response?.publishedfiledetails == null?_globalizer.GetResourceString("ModDetails_ModDetailFetchFailed_Label") : string.Empty; ModDetailsChanged = true; }
private async Task LoadModsFromServerFolder() { // build a list of mods to be processed var modIdList = new List <string>(); var modDirectory = new DirectoryInfo(Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath)); foreach (var directory in modDirectory.GetDirectories()) { var modId = directory.Name; if (ModUtils.IsOfficialMod(modId)) { continue; } var modFile = $"{directory.FullName}.mod"; if (File.Exists(modFile)) { modIdList.Add(Path.GetFileNameWithoutExtension(modFile)); } } modIdList = ModUtils.ValidateModList(modIdList); var response = await GetModDetails(modIdList); var modDetails = ModDetailList.GetModDetails(response, Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath), modIdList); UpdateModDetailsList(modDetails); ModDetailsChanged = true; }
private async Task LoadModsFromProfile() { // build a list of mods to be processed var modIdList = new List <string>(); var serverMapModId = ServerProfile.GetProfileMapModId(_profile); if (!string.IsNullOrWhiteSpace(serverMapModId)) { modIdList.Add(serverMapModId); } if (!string.IsNullOrWhiteSpace(_profile.TotalConversionModId)) { modIdList.Add(_profile.TotalConversionModId); } modIdList.AddRange(ModUtils.GetModIdList(_profile.ServerModIds)); modIdList = ModUtils.ValidateModList(modIdList); var response = await Task.Run(() => SteamUtils.GetSteamModDetails(modIdList)); var workshopFiles = WorkshopFiles; var modsRootFolder = Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath); var modDetails = ModDetailList.GetModDetails(modIdList, modsRootFolder, workshopFiles, response); UpdateModDetailsList(modDetails); ModDetailsStatusMessage = modDetails.Count > 0 && response?.publishedfiledetails == null?_globalizer.GetResourceString("ModDetails_ModDetailFetchFailed_Label") : string.Empty; ModDetailsChanged = false; }
private async Task LoadModsFromProfile() { // build a list of mods to be processed var modIdList = new List <string>(); var serverMapModId = ServerProfile.GetProfileMapModId(_profile); if (!string.IsNullOrWhiteSpace(serverMapModId)) { modIdList.Add(serverMapModId); } if (!string.IsNullOrWhiteSpace(_profile.TotalConversionModId)) { modIdList.Add(_profile.TotalConversionModId); } modIdList.AddRange(ModUtils.GetModIdList(_profile.ServerModIds)); modIdList = ModUtils.ValidateModList(modIdList); var response = await GetModDetails(modIdList); var modDetails = ModDetailList.GetModDetails(response, Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath), modIdList); UpdateModDetailsList(modDetails); ModDetailsChanged = false; }
public WorkshopFilesWindow(ModDetailList modDetails, ServerProfile profile) { InitializeComponent(); WindowUtils.RemoveDefaultResourceDictionary(this, Config.Default.DefaultGlobalizationFile); _profile = profile; this.Title = string.Format(_globalizer.GetResourceString("WorkshopFiles_ProfileTitle"), _profile?.ProfileName); UpdateModDetailsList(modDetails); this.DataContext = this; }
private async Task LoadModsFromList() { var modIdList = ModDetails.Select(m => m.ModId).ToList(); var response = await GetModDetails(modIdList); var modDetails = ModDetailList.GetModDetails(response, Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath), modIdList); UpdateModDetailsList(modDetails); ModDetailsChanged = true; }
public void UpdateModDetailsList(ModDetailList modDetails) { if (_modDetails != null) { _modDetails.CollectionChanged -= ModDetails_CollectionChanged; } _modDetails = modDetails ?? new ModDetailList(); if (_modDetails != null) { _modDetails.CollectionChanged += ModDetails_CollectionChanged; } WorkshopFilesView?.Refresh(); }
private void UpdateModDetailsList(ModDetailList modDetails) { if (ModDetails != null) { ModDetails.CollectionChanged -= ModDetails_CollectionChanged; } ModDetails = modDetails ?? new ModDetailList(); if (ModDetails != null) { ModDetails.CollectionChanged += ModDetails_CollectionChanged; } ModDetailsView?.Refresh(); }
private async Task LoadModsFromList() { // build a list of mods to be processed var modIdList = new List <string>(); modIdList.AddRange(ModDetails.Select(m => m.ModId)); modIdList = ModUtils.ValidateModList(modIdList); var response = await Task.Run(() => SteamUtils.GetSteamModDetails(modIdList)); var workshopFiles = WorkshopFiles; var modsRootFolder = Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath); var modDetails = ModDetailList.GetModDetails(modIdList, modsRootFolder, workshopFiles, response); UpdateModDetailsList(modDetails); ModDetailsStatusMessage = modDetails.Count > 0 && response?.publishedfiledetails == null?_globalizer.GetResourceString("ModDetails_ModDetailFetchFailed_Label") : string.Empty; ModDetailsChanged = true; }
private async Task LoadModsFromServerFolder() { // build a list of mods to be processed var modIdList = new List <string>(); var directoryNames = Directory.GetDirectories(Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath)); foreach (var directoryName in directoryNames) { var modFile = $"{directoryName}.mod"; if (File.Exists(modFile)) { modIdList.Add(Path.GetFileNameWithoutExtension(modFile)); } } var response = await GetModDetails(modIdList); var modDetails = ModDetailList.GetModDetails(response, Path.Combine(_profile.InstallDirectory, Config.Default.ServerModsRelativePath)); UpdateModDetailsList(modDetails); ModDetailsChanged = true; }