package okj.easy.core;
import org.ege.utils.E;
public abstract class SafeLoader extends Screen
{
public static final String name = SafeLoader.class.getName();
private Screen mDstScreen;
protected ResourcePack resources;
protected float progress;
private boolean isAutoChangeScreen = true;
@Override
public void show ()
{
onCreate();
}
@Override
public void resize (int width, int height)
{
super.resize(width, height);
onResize(width, height);
}
@Override
public void update (float delta)
{
super.update(delta);
eAdmin.econtext.update();
eAdmin.eaudio.update();
if (resources.isTotallyLoaded() && isAutoChangeScreen)
setScreen(mDstScreen, E.screen.RELEASE);
progress = (eAdmin.econtext.getProgress() + eAdmin.eaudio.getProgress()) / 2;
}
@Override
public void destroy (int destroyMode)
{
super.destroy(E.screen.RELEASE);
onDestroy();
}
/*****************************************************
* Screen method
*****************************************************/
public abstract void onCreate ();
public abstract void onResize (int width, int height);
public abstract void onDestroy ();
void enableSafeMode (Screen screen, ResourcePack pack)
{
mDstScreen = screen;
resources = pack;
}
public void setAutoChangeScreen (boolean isAuto)
{
this.isAutoChangeScreen = isAuto;
}
}