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
        }