public bool DeleteBillboardTextures(GPUInstancerPrototype selectedPrototype) { bool billboardsDeleted = false; #if UNITY_EDITOR if (selectedPrototype.billboard != null && selectedPrototype.billboard.albedoAtlasTexture != null) { BillboardAtlasBinding billboardAtlasBinding = GetBillboardAtlasBinding(selectedPrototype.prefabObject, selectedPrototype.billboard.atlasResolution, selectedPrototype.billboard.frameCount); if (billboardAtlasBinding != null) { if (selectedPrototype.isBillboardDisabled || (selectedPrototype is GPUInstancerDetailPrototype && !((GPUInstancerDetailPrototype)selectedPrototype).usePrototypeMesh) || EditorUtility.DisplayDialog( GPUInstancerConstants.TEXT_deleteConfirmation, GPUInstancerConstants.TEXT_deleteBillboard + "\n\"" + selectedPrototype.ToString() + "\"", GPUInstancerConstants.TEXT_delete, GPUInstancerConstants.TEXT_keepTextures)) { RemoveBillboardAtlas(billboardAtlasBinding); AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(billboardAtlasBinding.albedoAtlasTexture)); AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(billboardAtlasBinding.normalAtlasTexture)); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); billboardsDeleted = true; } } } #endif return(billboardsDeleted); }
public void RemoveBillboardAtlas(BillboardAtlasBinding billboardAtlasBinding) { billboardAtlasBindings.Remove(billboardAtlasBinding); #if UNITY_EDITOR EditorUtility.SetDirty(this); #endif }