package net.alcuria.umbracraft.engine.screens;
import net.alcuria.umbracraft.Game;
/** A screen to load all assets.
* @author Andrew Keturi */
public abstract class LoadingScreen extends UmbraScreen {
@Override
public void dispose() {
}
/** @return the {@link UmbraScreen} to display after the game has loaded. */
public abstract UmbraScreen getNextScreen();
@Override
public void hide() {
}
/** Queues up all assets to be loaded. These should be listed
* Game.assets().load(...) statements. */
public abstract void loadAssets();
@Override
public void pause() {
}
@Override
public void resize(int width, int height) {
}
@Override
public void resume() {
}
@Override
public void show() {
loadAssets();
}
@Override
public void onUpdate(float delta) {
if (Game.assets().update()) {
Game.setScreen(getNextScreen(), true);
}
}
}