package com.gebauz.bauzoid.graphics.sprite;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.assets.AssetDescriptor;
import com.badlogic.gdx.assets.AssetLoaderParameters;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader;
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
import com.badlogic.gdx.utils.Array;
/** Asynchronous Loader for Texture Atlas/Texture Region definitions. */
public class SpriteRegionAsyncLoader
extends AsynchronousAssetLoader
<SpriteRegionDefinition, SpriteRegionAsyncLoader.
AtlasSpriteParameter>
{
// Constants========================================================================================
// Embedded Types===================================================================================
static public class AtlasSpriteParameter
extends AssetLoaderParameters
<SpriteRegionDefinition
>
{
/*private Graphics mGraphics = null;
public AtlasSpriteParameter(Graphics graphics)
{
mGraphics = graphics;
}
public Graphics getGraphics()
{
return mGraphics;
}*/
}
// Fields===========================================================================================
private SpriteRegionDefinition mSpriteInfo =
null;
// Methods==========================================================================================
public SpriteRegionAsyncLoader
(FileHandleResolver resolver
)
{
super(resolver
);
}
@
Override
public void loadAsync
(AssetManager manager,
String fileName, AtlasSpriteParameter parameter
)
{
//Gdx.app.log("BLA", "BLA1");
mSpriteInfo = SpriteUtil.
readSpriteRegionInfo(Gdx.
files.
internal(fileName
));
}
@
Override
public SpriteRegionDefinition loadSync
(AssetManager manager,
String fileName,
AtlasSpriteParameter parameter
)
{
//Gdx.app.log("BLA", "BLA2");
/*if ((mSpriteInfo != null) && (mSprite != null))
{
mSprite.init();
SpriteRegion regions[] = new SpriteRegion[mSpriteInfo.frames.size()];
for (int i = 0; i < mSpriteInfo.frames.size(); i++)
{
regions[i] = new SpriteRegion(mSprite.getTexture(), mSpriteInfo.frames.get(i).x, mSpriteInfo.frames.get(i).y, mSpriteInfo.frames.get(i).w, mSpriteInfo.frames.get(i).h);
}
mSprite.setRegions(regions);
return mSprite;
} */
return mSpriteInfo
;
}
@
SuppressWarnings("rawtypes")
@
Override
public Array<AssetDescriptor
> getDependencies
(String fileName, AtlasSpriteParameter parameter
)
{
return null;
}
// Getters/Setters==================================================================================
}