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));
        }
Esempio n. 3
0
        /// <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();
                }
            }
        }
Esempio n. 4
0
 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;
            }
        }
Esempio n. 6
0
 public InstalledTextureItemViewModel(TextureMetaData metaData)
 {
     this.IsSelected = false;
     this.MetaData   = metaData;
     TextureName     = this.MetaData.Name == null ? this.MetaData.AssetName : this.MetaData.Name;
 }