private bool IsAssetInstalled(AssetViewModel asset, List <MapMetaData> mapMetaData, InstalledTexturesMetaData installedTextures) { if (asset.AssetCategory == AssetCategory.Maps.Value) { if (mapMetaData == null) { mapMetaData = MetaDataManager.GetAllMetaDataForMaps(); } return(mapMetaData.Any(m => m.AssetName == asset.Asset.ID)); } else { return(MetaDataManager.GetTextureMetaDataByName(asset.Asset.ID, installedTextures) != null); } }
/// <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(); } } }