|
@@ -3,6 +3,7 @@ package pathgame;
|
|
|
import me.hammerle.snuviengine.api.IGame;
|
|
|
import me.hammerle.snuviengine.api.Renderer;
|
|
|
import pathgame.gameplay.Gamestate;
|
|
|
+import pathgame.gameplay.Gamestates;
|
|
|
import pathgame.gameplay.Keys;
|
|
|
import pathgame.gameplay.Menu;
|
|
|
import pathgame.rendering.TileMapRenderer;
|
|
@@ -16,6 +17,7 @@ import pathgame.rendering.TileRenderer;
|
|
|
|
|
|
public class PathGame implements IGame
|
|
|
{
|
|
|
+ private final Gamestate gamestate = new Gamestate();
|
|
|
|
|
|
private final TileMapRenderer mapRenderer = new TileMapRenderer();
|
|
|
private final TileMap map = TileMapGenerator.getMap(50, 50, 2);
|
|
@@ -39,14 +41,19 @@ public class PathGame implements IGame
|
|
|
public void tick()
|
|
|
{
|
|
|
mapRenderer.tick();
|
|
|
- if(Gamestate.gamestate.equals(Gamestate.gamestates.GAMEPLAY))
|
|
|
+ switch(gamestate.getState())
|
|
|
{
|
|
|
- player.tick(map);
|
|
|
- }
|
|
|
- if(Gamestate.gamestate.equals(Gamestate.gamestates.MAINMENU))
|
|
|
- {
|
|
|
- menu.tick();
|
|
|
+ case ESCMENU:
|
|
|
+ break;
|
|
|
+ case GAMEPLAY:
|
|
|
+ player.tick(map);
|
|
|
+ break;
|
|
|
+ case MAINMENU:
|
|
|
+ menu.tick(gamestate);
|
|
|
+ break;
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
|
|
|
lastScale = scale;
|
|
|
if(Keys.ZOOM_IN_KEY.isDown())
|
|
@@ -71,15 +78,20 @@ public class PathGame implements IGame
|
|
|
float offY = getMapOffsetY(r, lag, interScale);
|
|
|
|
|
|
mapRenderer.renderTick(map, r, false, offX, offY);
|
|
|
- if(Gamestate.gamestate.equals(Gamestate.gamestates.GAMEPLAY))
|
|
|
+ switch(gamestate.getState())
|
|
|
{
|
|
|
- playerRenderer.renderTick(map, mapRenderer, r, player, lag, offX, offY);
|
|
|
- hudRenderer.renderTick(r, player, lag);
|
|
|
- }
|
|
|
- if(Gamestate.gamestate.equals(Gamestate.gamestates.MAINMENU))
|
|
|
- {
|
|
|
- menuRenderer.renderTick(r, lag, menu);
|
|
|
+ case ESCMENU:
|
|
|
+ break;
|
|
|
+ case GAMEPLAY:
|
|
|
+ playerRenderer.renderTick(map, mapRenderer, r, player, lag, offX, offY);
|
|
|
+ hudRenderer.renderTick(r, player, lag);
|
|
|
+ break;
|
|
|
+ case MAINMENU:
|
|
|
+ menuRenderer.renderTick(r, lag, menu);
|
|
|
+ break;
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private float getMapOffsetX(Renderer r, float lag, float interScale)
|
|
@@ -117,5 +129,6 @@ public class PathGame implements IGame
|
|
|
@Override
|
|
|
public void onStop()
|
|
|
{
|
|
|
+ //System.out.println("stopped game");
|
|
|
}
|
|
|
}
|