From 7aa79d4652ca23550394fe538a24ec271872dd25 Mon Sep 17 00:00:00 2001 From: gered Date: Tue, 15 Apr 2014 16:56:37 -0400 Subject: [PATCH] add TextureAtlas asset loading support for a MaterialTileMapping reference --- .../gdx/assets/textureatlas/TextureAtlasJsonLoader.java | 6 +++++- .../blarg/gdx/assets/textureatlas/TextureAtlasLoader.java | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasJsonLoader.java b/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasJsonLoader.java index 63b58e4..a9352a1 100644 --- a/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasJsonLoader.java +++ b/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasJsonLoader.java @@ -2,6 +2,7 @@ package ca.blarg.gdx.assets.textureatlas; import ca.blarg.gdx.assets.AssetLoadingException; import ca.blarg.gdx.graphics.atlas.CustomGridTextureAtlas; +import ca.blarg.gdx.graphics.atlas.MaterialTileMapping; import ca.blarg.gdx.graphics.atlas.TextureAtlas; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.files.FileHandle; @@ -21,8 +22,11 @@ class TextureAtlasJsonLoader { throw new AssetLoadingException(file.path(), "No tiles defined."); Texture texture = assetManager.get(definition.texture, Texture.class); + MaterialTileMapping materialTileMapping = null; + if (definition.materialMapping != null) + materialTileMapping = assetManager.get(definition.materialMapping, MaterialTileMapping.class); - CustomGridTextureAtlas atlas = new CustomGridTextureAtlas(texture); + CustomGridTextureAtlas atlas = new CustomGridTextureAtlas(texture, materialTileMapping); for (int i = 0; i < definition.tiles.size(); ++i) { JsonTextureAtlasTile tile = definition.tiles.get(i); // TODO: parameter value error checking diff --git a/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasLoader.java b/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasLoader.java index de2e0f7..be78c8b 100644 --- a/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasLoader.java +++ b/src/main/java/ca/blarg/gdx/assets/textureatlas/TextureAtlasLoader.java @@ -1,5 +1,6 @@ package ca.blarg.gdx.assets.textureatlas; +import ca.blarg.gdx.graphics.atlas.MaterialTileMapping; import ca.blarg.gdx.graphics.atlas.TextureAtlas; import com.badlogic.gdx.assets.AssetDescriptor; import com.badlogic.gdx.assets.AssetLoaderParameters; @@ -23,7 +24,11 @@ public class TextureAtlasLoader extends AsynchronousAssetLoader getDependencies(String fileName, FileHandle file, TextureAtlasParameter parameter) { definition = TextureAtlasJsonLoader.load(file); Array deps = new Array(); + deps.add(new AssetDescriptor(definition.texture, Texture.class)); + if (definition.materialMapping != null) + deps.add(new AssetDescriptor(definition.materialMapping, MaterialTileMapping.class)); + return deps; }