diff --git a/frontend/core/src/com/game/tankwars/MenuAssetManager.java b/frontend/core/src/com/game/tankwars/MenuAssetManager.java new file mode 100644 index 0000000000000000000000000000000000000000..ef77bdb606dea3a155b3ced008da6aadddafd4e5 --- /dev/null +++ b/frontend/core/src/com/game/tankwars/MenuAssetManager.java @@ -0,0 +1,57 @@ +package com.game.tankwars; + +import com.badlogic.gdx.assets.AssetManager; +import com.badlogic.gdx.assets.loaders.FileHandleResolver; +import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGeneratorLoader; +import com.badlogic.gdx.graphics.g2d.freetype.FreetypeFontLoader; + +import java.util.HashMap; + +public class MenuAssetManager { + + private final AssetManager manager; + + private final HashMap<String, String> textures; + private final HashMap<String, String> fonts; + + public MenuAssetManager() { + manager = new AssetManager(); + + textures = new HashMap<>(); + textures.put("menu-background", "menu-background.png"); + textures.put("logo", "tankwars-logo.png"); + textures.put("menu-header-box", "main-menu-welcome-box.png"); + textures.put("dialog-box", "menu-button.png"); + textures.put("menu-button", "menu-button-2.png"); + + fonts = new HashMap<>(); + fonts.put("menu-regular", "RollAccurate-mvrx.ttf"); + + FileHandleResolver resolver = new InternalFileHandleResolver(); + manager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver)); + manager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver)); + } + + public void loadTextures() { + for (String internalPath : textures.keySet()) { + manager.load(internalPath, Texture.class); + } + } + + public void loadFonts() { + // First, let's define the params and then load our smaller font + FreetypeFontLoader.FreeTypeFontLoaderParameter mySmallFont = new FreetypeFontLoader.FreeTypeFontLoaderParameter(); + mySmallFont.fontFileName = "arial.ttf"; + mySmallFont.fontParameters.size = 10; + manager.load("arial.ttf", BitmapFont.class, mySmallFont); + } + + public void finishLoading() { + manager.finishLoading(); + } + +} diff --git a/frontend/core/src/com/game/tankwars/model/MenuHeader.java b/frontend/core/src/com/game/tankwars/model/MenuHeader.java new file mode 100644 index 0000000000000000000000000000000000000000..49467013336a61a5ff69bf529232f1683bcc2297 --- /dev/null +++ b/frontend/core/src/com/game/tankwars/model/MenuHeader.java @@ -0,0 +1,17 @@ +package com.game.tankwars.model; + +import com.badlogic.gdx.graphics.Texture; + +public class MenuHeader { + + private final Texture texture; + + public MenuHeader() { + texture = new Texture("main-menu-welcome-box.png"); + } + + public Texture getTexture() { + return texture; + } + +} diff --git a/frontend/core/src/com/game/tankwars/view/LoginScreen.java b/frontend/core/src/com/game/tankwars/view/LoginScreen.java index 0928db1953bcd419066b07762ee066afcef8c7d3..67047683efd9ece43a98c0f3ced50fedc514ff9e 100644 --- a/frontend/core/src/com/game/tankwars/view/LoginScreen.java +++ b/frontend/core/src/com/game/tankwars/view/LoginScreen.java @@ -15,6 +15,7 @@ import com.badlogic.gdx.utils.viewport.Viewport; import com.game.tankwars.TankWarsGame; import com.game.tankwars.controller.LoginController; import com.game.tankwars.model.FontGeneratorTTF; +import com.game.tankwars.model.MenuHeader; public class LoginScreen extends InputAdapter implements Screen { @@ -27,6 +28,7 @@ public class LoginScreen extends InputAdapter implements Screen { private final Texture background; private final Sprite logo; private final Texture headerBox; + private final MenuHeader menuHeader; private final GlyphLayout title; @@ -51,6 +53,7 @@ public class LoginScreen extends InputAdapter implements Screen { logo.setScale(1.3f); logo.setPosition(-logo.getWidth() / 2, 32 * heightPercentile); + menuHeader = new MenuHeader(); headerBox = new Texture("main-menu-welcome-box.png"); font.getData().setScale(1f);