package com.gebauz.bauzoid.math.collision;
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.files.FileHandle;
import com.badlogic.gdx.utils.Array;
public class ShapeDataAsyncLoader
extends AsynchronousAssetLoader
<ShapeData, ShapeDataAsyncLoader.
ShapeDataParameter>
{
// Constants========================================================================================
// Embedded Types===================================================================================
static public class ShapeDataParameter
extends AssetLoaderParameters
<ShapeData
>
{
private Shape mOwner =
null;
public ShapeDataParameter
(Shape owner
)
{
mOwner = owner
;
}
public final Shape getOwner
()
{
return mOwner
;
}
}
// Fields===========================================================================================
private ShapeData mShapeData =
null;
// Methods==========================================================================================
public ShapeDataAsyncLoader
(FileHandleResolver resolver
)
{
super(resolver
);
}
@
Override
public void loadAsync
(AssetManager manager,
String fileName, FileHandle file, ShapeDataParameter parameter
)
{
mShapeData = ShapeUtil.
createShapeFromFile(parameter.
getOwner(), fileName
);
}
@
Override
public ShapeData loadSync
(AssetManager manager,
String fileName, FileHandle file, ShapeDataParameter parameter
)
{
return mShapeData
;
}
@
SuppressWarnings("rawtypes")
@
Override
public Array<AssetDescriptor
> getDependencies
(String fileName, FileHandle file, ShapeDataParameter parameter
)
{
return null;
}
// Getters/Setters==================================================================================
}