package okj.easy.core;
import com.badlogic.gdx.utils.Array;
/**
*
* @FileName: ResourcePack.java
* @CreateOn: Sep 15, 2012 - 11:11:27 AM
* @Author: TrungNT
*/
public class ResourcePack implements ResourceContext
{
public final String name;
private final Array<ResourceContext> mManageContext;
public ResourcePack(String name, ResourceContext... contexts) {
this.name = name;
mManageContext = new Array<ResourceContext>();
mManageContext.addAll(contexts);
}
public ResourcePack(String name) {
this.name = name;
mManageContext = new Array<ResourceContext>();
}
/*************************************************
* ResourceContext manage
*************************************************/
public void manage (ResourceContext... contexts)
{
mManageContext.addAll(contexts);
}
public void unmanage (ResourceContext... contexts)
{
for (ResourceContext context : contexts)
mManageContext.removeValue(context, true);
}
@Override
public void reload ()
{
for (ResourceContext context : mManageContext)
context.reload();
}
@Override
public void unload ()
{
for (ResourceContext context : mManageContext)
context.unload();
}
/*************************************************
* Query info
*************************************************/
@Override
public boolean isTotallyUnloaded ()
{
for (ResourceContext context : mManageContext)
if (!context.isTotallyUnloaded())
return false;
return true;
}
@Override
public boolean isTotallyLoaded ()
{
for (ResourceContext context : mManageContext)
if (!context.isTotallyLoaded())
return false;
return true;
}
@Override
public int size ()
{
return mManageContext.size;
}
/*************************************************
* Query info
*************************************************/
@Override
public boolean update ()
{
return eAdmin.econtext.update() & eAdmin.eaudio.update();
}
@Override
public void clear ()
{
mManageContext.clear();
}
@Override
public void dispose ()
{
for (ResourceContext context : mManageContext)
context.dispose();
mManageContext.clear();
}
public void setRefStoreMode (boolean isRefStore)
{
for (ResourceContext context : mManageContext) {
context.setRefStoreMode(isRefStore);
}
}
public boolean isRefStoreMode ()
{
return false;
}
}