public static BoolWithMessage DeleteTextureFiles(TextureMetaData metaData) { if (metaData == null) { return(BoolWithMessage.False($"meta data is null")); } if (metaData.FilePaths?.Count == 0) { return(BoolWithMessage.False($"List of files to delete is unknown for {metaData.Name}.")); } try { BoolWithMessage result = FileUtils.DeleteFiles(metaData.FilePaths); if (result.Result == false) { return(result); } // lastly delete entry from list of installed textures InstalledTexturesMetaData currentlyInstalledTextures = MetaDataManager.LoadTextureMetaData(); currentlyInstalledTextures.Remove(metaData); MetaDataManager.SaveTextureMetaData(currentlyInstalledTextures); return(BoolWithMessage.True($"{metaData.Name} has been deleted!")); } catch (Exception e) { return(BoolWithMessage.False($"Failed to delete files: {e.Message}")); } }
/// <summary> /// Adds at texture to the texture manager and returns an index that can be used to access the texture /// </summary> /// <param name="texture">The texture object to add</param> /// <param name="texturename">The name of the texture defaults to empty string</param> /// <returns>index of the texture</returns> internal int AddTexture(Texture texture, string texturename) { if (string.IsNullOrWhiteSpace(texturename)) { texturename = string.Empty; } TextureMetaData data = new TextureMetaData(texture, texturename); textureList.Add(data); return(textureList.IndexOf(data)); }
/// <summary> /// Deletes the selected asset files from Session folders /// </summary> public void RemoveSelectedAsset() { AssetViewModel assetToRemove = SelectedAsset; BoolWithMessage deleteResult = BoolWithMessage.False(""); if (assetToRemove.AssetCategory == AssetCategory.Maps.Value) { MapMetaData mapToDelete = MetaDataManager.GetAllMetaDataForMaps()?.Where(m => m.AssetName == assetToRemove.Asset.ID).FirstOrDefault(); if (mapToDelete == null) { UserMessage = "Failed to find meta data to delete map files ..."; return; } deleteResult = MetaDataManager.DeleteMapFiles(mapToDelete); } else { TextureMetaData textureToDelete = MetaDataManager.GetTextureMetaDataByName(assetToRemove.Asset.ID); if (textureToDelete == null) { UserMessage = $"Failed to find meta data to delete texture files for {assetToRemove.Asset.ID}..."; return; } deleteResult = MetaDataManager.DeleteTextureFiles(textureToDelete); } UserMessage = deleteResult.Message; if (deleteResult.Result) { RefreshPreviewForSelected(); // refresh list if filtering by installed or uninstalled if (SelectedInstallStatus != defaultInstallStatusValue) { RefreshFilteredAssetList(); } } }
public VanillaContentValidator(string infoFilePath) { string[] array = Regex.Split(Utils.ReadEmbeddedResource(infoFilePath), "\r\n|\r|\n"); foreach (string text in array) { if (!text.StartsWith("//")) { string[] array2 = text.Split('\t'); if (array2.Length >= 3 && int.TryParse(array2[1], out int result) && int.TryParse(array2[2], out int result2)) { string key = array2[0].Replace('/', '\\'); _info[key] = new TextureMetaData { Width = result, Height = result2 }; } } } }
internal static void SaveTextureMetaData(TextureMetaData metaData) { if (metaData == null) { return; } try { CreateMetaDataFolder(); InstalledTexturesMetaData currentlyInstalled = LoadTextureMetaData(); currentlyInstalled.Replace(metaData); SaveTextureMetaData(currentlyInstalled); } catch (Exception e) { Logger.Error(e, "failed to save texture meta data"); return; } }
public InstalledTextureItemViewModel(TextureMetaData metaData) { this.IsSelected = false; this.MetaData = metaData; TextureName = this.MetaData.Name == null ? this.MetaData.AssetName : this.MetaData.Name; }