From 2a82a51fab1f30f988eb57e5ebf554aa153d03a2 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sun, 12 Mar 2023 07:19:57 +0800 Subject: [PATCH] move ParticleEffect load to AssetManager --- .../forge/adventure/character/MapActor.java | 184 ++++++++---------- forge-gui-mobile/src/forge/assets/Assets.java | 17 +- 2 files changed, 98 insertions(+), 103 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/character/MapActor.java b/forge-gui-mobile/src/forge/adventure/character/MapActor.java index ffe50e1e676..7077f1b212e 100644 --- a/forge-gui-mobile/src/forge/adventure/character/MapActor.java +++ b/forge-gui-mobile/src/forge/adventure/character/MapActor.java @@ -9,6 +9,7 @@ import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.utils.Array; +import forge.Forge; import forge.adventure.util.Config; import forge.util.MyRandom; @@ -18,170 +19,154 @@ import forge.util.MyRandom; */ public class MapActor extends Actor { - private boolean removeIfEffectsAreFinished; public void removeAfterEffects() { - removeIfEffectsAreFinished=true; + removeIfEffectsAreFinished = true; } - static class CurrentEffect - { - public CurrentEffect(String path,ParticleEffect effect,Vector2 offset,boolean overlay) - { + static class CurrentEffect { + public CurrentEffect(String path, ParticleEffect effect, Vector2 offset, boolean overlay) { this.path = path; - this.effect=effect; - this.offset=offset; - this.overlay=overlay; + this.effect = effect; + this.offset = offset; + this.overlay = overlay; } private final String path; public ParticleEffect effect; public Vector2 offset; - public boolean overlay=true; + public boolean overlay = true; } Texture debugTexture; - protected float collisionHeight=0.4f; + protected float collisionHeight = 0.4f; final int objectId; - Array effects=new Array<>(); + Array effects = new Array<>(); public void removeEffect(String effectFly) { - for(int i=0;i other.getX() && boundingRect.y < other.getY() + other.getHeight() && boundingRect.y + boundingRect.height > other.getY(); - } public float getCollisionHeight() { diff --git a/forge-gui-mobile/src/forge/assets/Assets.java b/forge-gui-mobile/src/forge/assets/Assets.java index 47a720e7237..b9c3e19af04 100644 --- a/forge-gui-mobile/src/forge/assets/Assets.java +++ b/forge-gui-mobile/src/forge/assets/Assets.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.assets.AssetLoaderParameters; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.assets.loaders.FileHandleResolver; +import com.badlogic.gdx.assets.loaders.ParticleEffectLoader; import com.badlogic.gdx.assets.loaders.TextureLoader.TextureParameter; import com.badlogic.gdx.assets.loaders.resolvers.AbsoluteFileHandleResolver; import com.badlogic.gdx.files.FileHandle; @@ -12,6 +13,7 @@ import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.TextureData; import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.ParticleEffect; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Disposable; @@ -270,6 +272,19 @@ public class Assets implements Disposable { } return t; } + public ParticleEffect getEffect(FileHandle file) { + if (file == null || !file.exists() || !FileType.Absolute.equals(file.type())) { + System.err.println("Failed to load: " + file +"!."); + return null; + } + ParticleEffect effect = manager().get(file.path(), ParticleEffect.class, false); + if (effect == null) { + manager().load(file.path(), ParticleEffect.class, new ParticleEffectLoader.ParticleEffectParameter()); + manager().finishLoadingAsset(file.path()); + effect = manager().get(file.path(), ParticleEffect.class); + } + return effect; + } public Texture getDefaultImage() { if (defaultImage == null) { @@ -506,9 +521,7 @@ public class Assets implements Disposable { currentMemory = calculateTextureSize(assetManager, fileName1, type1); }; - } - super.load(fileName, type, parameter); }