From 2d607bf28975abf196acba693049f79ad5c1bb2c Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sun, 10 Jul 2022 07:49:31 +0800 Subject: [PATCH] move skin and adventure fonts to Assets --- .../src/forge/adventure/util/Controls.java | 36 +++++++------------ forge-gui-mobile/src/forge/assets/Assets.java | 9 +++++ 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/util/Controls.java b/forge-gui-mobile/src/forge/adventure/util/Controls.java index bc667451338..073c4e9ea3c 100644 --- a/forge-gui-mobile/src/forge/adventure/util/Controls.java +++ b/forge-gui-mobile/src/forge/adventure/util/Controls.java @@ -11,6 +11,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.*; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Align; +import forge.Forge; import java.util.function.Function; @@ -18,15 +19,10 @@ import java.util.function.Function; * Class to create ui elements in the correct style */ public class Controls { - private static Skin SelectedSkin = null; - private static BitmapFont defaultfont, bigfont; - static public TextButton newTextButton(String text) { - return new TextButton(text, GetSkin()); } static public Rectangle getBoundingRect(Actor actor) { - return new Rectangle(actor.getX(),actor.getY(),actor.getWidth(),actor.getHeight()); } static public boolean actorContainsVector (Actor actor, Vector2 point) { @@ -56,8 +52,6 @@ public class Controls { return ret; } - - static public TextField newTextField(String text) { return new TextField(text, GetSkin()); } @@ -108,32 +102,28 @@ public class Controls { switch (fontName) { case "blackbig": case "big": - return bigfont; + return Forge.getAssets().advBigFont; default: - return defaultfont; + return Forge.getAssets().advDefaultFont; } } - static public Skin GetSkin() { - - if (SelectedSkin == null) { - SelectedSkin = new Skin(); - + if (Forge.getAssets().skin == null) { + Forge.getAssets().skin = new Skin(); FileHandle skinFile = Config.instance().getFile(Paths.SKIN); FileHandle atlasFile = skinFile.sibling(skinFile.nameWithoutExtension() + ".atlas"); TextureAtlas atlas = new TextureAtlas(atlasFile); //font - defaultfont = new BitmapFont(Config.instance().getFile(Paths.SKIN).sibling("LanaPixel.fnt")); - bigfont = new BitmapFont(Config.instance().getFile(Paths.SKIN).sibling("LanaPixel.fnt")); - bigfont.getData().setScale(2, 2); - SelectedSkin.add("default", defaultfont); - SelectedSkin.add("big", bigfont); - SelectedSkin.addRegions(atlas); - SelectedSkin.load(skinFile); - + Forge.getAssets().advDefaultFont = new BitmapFont(Config.instance().getFile(Paths.SKIN).sibling("LanaPixel.fnt")); + Forge.getAssets().advBigFont = new BitmapFont(Config.instance().getFile(Paths.SKIN).sibling("LanaPixel.fnt")); + Forge.getAssets().advBigFont.getData().setScale(2, 2); + Forge.getAssets().skin.add("default", Forge.getAssets().advDefaultFont); + Forge.getAssets().skin.add("big", Forge.getAssets().advBigFont); + Forge.getAssets().skin.addRegions(atlas); + Forge.getAssets().skin.load(skinFile); } - return SelectedSkin; + return Forge.getAssets().skin; } public static Label newLabel(String name) { diff --git a/forge-gui-mobile/src/forge/assets/Assets.java b/forge-gui-mobile/src/forge/assets/Assets.java index 4d191b19dc9..4efab66a1f1 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.assets.AssetManager; import com.badlogic.gdx.assets.loaders.resolvers.AbsoluteFileHandleResolver; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.badlogic.gdx.utils.Disposable; import com.badlogic.gdx.utils.ObjectMap; import forge.gui.GuiBase; @@ -19,6 +20,8 @@ public class Assets implements Disposable { public ObjectMap generatedCards = new ObjectMap<>(512); public ObjectMap fallback_skins = new ObjectMap<>(); public ObjectMap tmxMap = new ObjectMap(); + public Skin skin; + public BitmapFont advDefaultFont, advBigFont; public Assets() { //init titlebg fallback fallback_skins.put(0, new Texture(GuiBase.isAndroid() @@ -43,5 +46,11 @@ public class Assets implements Disposable { texture.dispose(); for (Texture texture : tmxMap.values()) texture.dispose(); + if (advDefaultFont != null) + advDefaultFont.dispose(); + if (advBigFont != null) + advBigFont.dispose(); + if (skin != null) + skin.dispose(); } }