Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.assets.AssetManager;
- import com.badlogic.gdx.audio.Music;
- import com.badlogic.gdx.graphics.g2d.Sprite;
- import com.badlogic.gdx.graphics.g2d.TextureAtlas;
- import com.badlogic.gdx.graphics.g2d.TextureRegion;
- import com.badlogic.gdx.scenes.scene2d.ui.Image;
- import com.badlogic.gdx.utils.Disposable;
- public final class AssetManagerHelper implements Disposable {
- private static final String Tag = AssetManagerHelper.class.getSimpleName();
- private AssetManager assetManager;
- public AssetManagerHelper() {
- assetManager = new AssetManager();
- }
- public void loadAtlas(String filename) {
- if (!fileStringIsOkay(filename, "loadAtlas")) {
- return;
- }
- assetManager.load(filename, TextureAtlas.class);
- assetManager.finishLoading();
- Gdx.app.debug(Tag, "Atlas with given filename loaded: " + filename);
- }
- public void loadMusic(String musicFileName) {
- if (!fileStringIsOkay(musicFileName, "loadMusic")) {
- return;
- }
- assetManager.load(musicFileName, Music.class);
- assetManager.finishLoading();
- Gdx.app.debug(Tag, String.format("(loadMusic()): Music '%s' loaded", musicFileName));
- }
- public Music findMusic(String musicFileName) {
- if (!fileStringIsOkay(musicFileName, "getMusic")) {
- return null;
- }
- if (assetManager.isLoaded(musicFileName)) {
- return assetManager.get(musicFileName);
- }
- Gdx.app.debug(Tag, "(getMusic([musicFileName])): Given music filename is not loaded: " + musicFileName);
- return null;
- }
- public TextureAtlas findAtlas(String filename) {
- if (!fileStringIsOkay(filename, "getAtlas")) {
- return null;
- }
- if (assetManager.isLoaded(filename)) {
- return assetManager.get(filename, TextureAtlas.class);
- }
- Gdx.app.debug(Tag, "Atlas with filename is either not loaded or doesn't exist: " + filename);
- return null;
- }
- public Sprite findSprite(String filename, String atlasName) {
- return new Sprite(findRegion(filename, atlasName));
- }
- public Image findImage(String filename, String atlasName) {
- return new Image(findRegion(filename, atlasName));
- }
- public TextureRegion findRegion(String filename, String atlasName) {
- if (!fileStringIsOkay(filename, "getRegion") || !fileStringIsOkay(atlasName, "getRegion")) {
- return null;
- }
- final TextureRegion region = findAtlas(atlasName).findRegion(filename);
- if (region != null) {
- return region;
- } else {
- Gdx.app.debug(Tag, String.format("%s couldn't be found as a region of %s", filename, atlasName));
- }
- return null;
- }
- @Override
- public void dispose() {
- assetManager.dispose();
- }
- private boolean fileStringIsOkay(String stringCheck, String calledFrom) {
- if (stringCheck == null || stringCheck.isEmpty()) {
- Gdx.app.debug(Tag, String.format("(fileStringCheck([stringCheck, calledFrom])): [Called from '%s']: stringCheck is null or empty.\n\t" +
- "(Is Null: %b | Is Empty: %b)", calledFrom, stringCheck == null, stringCheck.isEmpty()));
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement