package com.me.pacman; 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.audio.Sound; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGeneratorLoader; import com.badlogic.gdx.graphics.g2d.freetype.FreetypeFontLoader; public class Assets { private AssetManager manager; public TextureRegion[][] level; public TextureRegion[][] deathAnimation; public TextureRegion[][] ghosts; public TextureRegion[][] pacman; public TextureRegion[][] points; public TextureRegion[][] volume; public Sound beginning, beginning_alt; public Sound chaseSound; public Sound chomp_1, chomp_2; public Sound deathSound; public Sound eat_fruit, eat_ghost; public Sound extra_life; public Sound return_base; public Sound siren, siren_fast, siren_faster, siren_fastest; public Assets() { this.manager = new AssetManager(); } public void loadAssets() { manager.load("level_background.png", Texture.class); manager.load("level_background_win.png", Texture.class); manager.load("menu_background.png", Texture.class); manager.load("logo.png", Texture.class); manager.load("sprites/level.png", Texture.class); manager.load("sprites/death.png", Texture.class); manager.load("sprites/ghosts.png", Texture.class); manager.load("sprites/pacman.png", Texture.class); manager.load("sprites/points.png", Texture.class); manager.load("sprites/volume.png", Texture.class); manager.load("sounds/beginning.wav", Sound.class); manager.load("sounds/beginning_alt.wav", Sound.class); manager.load("sounds/chase.wav", Sound.class); manager.load("sounds/chomp_1.wav", Sound.class); manager.load("sounds/chomp_2.wav", Sound.class); manager.load("sounds/death.wav", Sound.class); manager.load("sounds/eat_fruit.wav", Sound.class); manager.load("sounds/eat_ghost.wav", Sound.class); manager.load("sounds/extra_life.wav", Sound.class); manager.load("sounds/return_base.wav", Sound.class); manager.load("sounds/siren.wav", Sound.class); manager.load("sounds/siren_fast.wav", Sound.class); manager.load("sounds/siren_faster.wav", Sound.class); manager.load("sounds/siren_fastest.wav", Sound.class); // Yayyy! all of this to load a font FileHandleResolver resolver = new InternalFileHandleResolver(); manager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver)); manager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver)); FreetypeFontLoader.FreeTypeFontLoaderParameter font = new FreetypeFontLoader.FreeTypeFontLoaderParameter(); font.fontFileName = "fonts/joystix.ttf"; font.fontParameters.size = 10; font.fontParameters.mono = true; manager.load("fonts/joystix.ttf", BitmapFont.class, font); // finish loading assets from disk manager.finishLoading(); // cache our texture regions level = TextureRegion.split(manager.get("sprites/level.png", Texture.class), 8, 8); deathAnimation = TextureRegion.split(manager.get("sprites/death.png", Texture.class), 16, 16); ghosts = TextureRegion.split(manager.get("sprites/ghosts.png", Texture.class), 16, 16); pacman = TextureRegion.split(manager.get("sprites/pacman.png", Texture.class), 16, 16); points = TextureRegion.split(manager.get("sprites/points.png", Texture.class), 16, 16); volume = TextureRegion.split(manager.get("sprites/volume.png", Texture.class), 16, 16); // all our sounds beginning = manager.get("sounds/beginning.wav", Sound.class); beginning_alt = manager.get("sounds/beginning_alt.wav", Sound.class); chaseSound = manager.get("sounds/chase.wav", Sound.class); chomp_1 = manager.get("sounds/chomp_1.wav", Sound.class); chomp_2 = manager.get("sounds/chomp_2.wav", Sound.class); deathSound = manager.get("sounds/death.wav", Sound.class); eat_fruit = manager.get("sounds/eat_fruit.wav", Sound.class); eat_ghost = manager.get("sounds/eat_ghost.wav", Sound.class); extra_life = manager.get("sounds/extra_life.wav", Sound.class); return_base = manager.get("sounds/return_base.wav", Sound.class); siren = manager.get("sounds/siren.wav", Sound.class); siren_fast = manager.get("sounds/siren_fast.wav", Sound.class); siren_faster = manager.get("sounds/siren_faster.wav", Sound.class); siren_fastest = manager.get("sounds/siren_fastest.wav", Sound.class); } public Texture getLevelBackground() { return manager.get("level_background.png", Texture.class); } public Texture getLevelWinBackground() { return manager.get("level_background_win.png", Texture.class); } public Texture getMenuBackground() { return manager.get("menu_background.png", Texture.class); } public Texture getLogo() { return manager.get("logo.png", Texture.class); } public BitmapFont getFont() { return manager.get("fonts/joystix.ttf", BitmapFont.class); } public void dispose() { manager.dispose(); } }