From 305644f20de5303acbe9681feada5f7882d04ef5 Mon Sep 17 00:00:00 2001 From: Michael Pollind Date: Sun, 1 Aug 2021 08:32:07 -0700 Subject: [PATCH] chore: update assettype --- .../org/terasology/gestalt/assets/Asset.java | 6 +++--- .../org/terasology/gestalt/assets/AssetType.java | 16 ++-------------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/Asset.java b/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/Asset.java index e0784de4..c0f17f17 100644 --- a/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/Asset.java +++ b/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/Asset.java @@ -170,10 +170,11 @@ public final > Optional createInstance() { /** * return the non-instanced version of this asset. if the asset is already the normal - * type then it returns itself. + * type then it returns itself. instanced assets are temporary copies from the normal loaded instances. + * * @return non-instanced version of this Asset */ - public final Asset getConcreteAsset() { + public final Asset getNormalAsset() { if (parent == null) { return this; } @@ -187,7 +188,6 @@ public final synchronized void dispose() { if (!disposed) { compactInstances(); disposed = true; - assetType.onAssetDisposed(this); disposalHook.dispose(); if (parent == null) { for (WeakReference> inst : this.instances()) { diff --git a/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/AssetType.java b/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/AssetType.java index 507fb001..7444ee9a 100644 --- a/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/AssetType.java +++ b/gestalt-asset-core/src/main/java/org/terasology/gestalt/assets/AssetType.java @@ -115,14 +115,13 @@ public synchronized void close() { */ @SuppressWarnings("unchecked") public void processDisposal() { - Reference> ref = disposalQueue.poll(); Set urns = new HashSet<>(); - while (ref != null) { + Reference> ref = null; + while ((ref = disposalQueue.poll()) != null) { AssetReference> assetRef = (AssetReference>) ref; urns.add(assetRef.parentUrn); assetRef.dispose(); references.remove(assetRef); - ref = disposalQueue.poll(); } for (ResourceUrn urn : urns) { disposeAsset(urn); @@ -261,17 +260,6 @@ synchronized void registerAsset(Asset asset, DisposalHook disposer) { } } - /** - * Notifies the asset type when an asset is disposed - * - * @param asset The asset that was disposed. - */ - void onAssetDisposed(Asset asset) { - if (!asset.getUrn().isInstance()) { - disposeAsset(asset.getUrn()); - } - } - /** * dispose asset and remove loaded asset from {@link #loadedAssets} * @param target urn to free