allow for TileMesh assets depended on by a loaded TileMeshCollection to not need to specify a texture atlas (will use the parent TileMeshCollection's texture atlas)

This commit is contained in:
Gered 2014-04-16 14:17:32 -04:00
parent 7464200644
commit a9adff98e6
2 changed files with 9 additions and 1 deletions

View file

@ -31,8 +31,11 @@ public class TileMeshCollectionLoader extends AsynchronousAssetLoader<TileMeshCo
if (definition.textureAtlas != null)
deps.add(new AssetDescriptor(definition.textureAtlas, TextureAtlas.class));
TileMeshLoader.TileMeshParameters params = new TileMeshLoader.TileMeshParameters();
params.defaultTextureAtlas = definition.textureAtlas;
for (String tileMeshFile : definition.tiles) {
deps.add(new AssetDescriptor(tileMeshFile, TileMesh.class));
deps.add(new AssetDescriptor(tileMeshFile, TileMesh.class, params));
}
return deps;

View file

@ -14,6 +14,7 @@ import com.badlogic.gdx.utils.Array;
@SuppressWarnings("unchecked")
public class TileMeshLoader extends AsynchronousAssetLoader<TileMesh, TileMeshLoader.TileMeshParameters> {
public static class TileMeshParameters extends AssetLoaderParameters<TileMesh> {
public String defaultTextureAtlas;
}
public TileMeshLoader(FileHandleResolver resolver) {
@ -30,6 +31,10 @@ public class TileMeshLoader extends AsynchronousAssetLoader<TileMesh, TileMeshLo
if (definition.textureAtlas != null)
deps.add(new AssetDescriptor(definition.textureAtlas, TextureAtlas.class));
else if (parameter != null && parameter.defaultTextureAtlas != null) {
definition.textureAtlas = parameter.defaultTextureAtlas;
deps.add(new AssetDescriptor(definition.textureAtlas, TextureAtlas.class));
}
if (!definition.cube) {
if (definition.model != null)