summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/zproject/ZProject.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/zproject/ZProject.java')
-rw-r--r--core/src/ch/asynk/zproject/ZProject.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/src/ch/asynk/zproject/ZProject.java b/core/src/ch/asynk/zproject/ZProject.java
index 12dc982..7afca28 100644
--- a/core/src/ch/asynk/zproject/ZProject.java
+++ b/core/src/ch/asynk/zproject/ZProject.java
@@ -5,6 +5,7 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import ch.asynk.zproject.screens.GameScreen;
+import ch.asynk.zproject.screens.LoadingScreen;
public class ZProject extends Game
{
@@ -13,7 +14,8 @@ public class ZProject extends Game
private enum State
{
NONE,
- GAME
+ LOADING,
+ GAME,
}
private State state;
@@ -24,7 +26,7 @@ public class ZProject extends Game
this.state = State.NONE;
Gdx.app.setLogLevel(Gdx.app.LOG_DEBUG);
debug(String.format("create() [%d;%d] %f", Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), Gdx.graphics.getDensity()));
- switchToGame();
+ switchToLoading();
}
@Override public void dispose()
@@ -55,6 +57,7 @@ public class ZProject extends Game
return;
}
switch(state) {
+ case LOADING: assets.unloadLoading(); break;
case GAME: assets.unloadGame(); break;
}
if (state != State.NONE) {
@@ -69,10 +72,15 @@ public class ZProject extends Game
switchTo(null, State.NONE);
}
- public void switchToGame()
+ public void switchToLoading()
{
- assets.loadGame();
+ assets.loadLoading();
assets.finishLoading();
+ switchTo(new LoadingScreen(this, () -> assets.loadGame(), () -> switchToGame()), State.LOADING);
+ }
+
+ public void switchToGame()
+ {
switchTo(new GameScreen(this), State.GAME);
}
}