|
@@ -2,24 +2,21 @@ package pathgame;
|
|
|
|
|
|
import me.hammerle.snuviengine.api.IGame;
|
|
import me.hammerle.snuviengine.api.IGame;
|
|
import me.hammerle.snuviengine.api.Renderer;
|
|
import me.hammerle.snuviengine.api.Renderer;
|
|
-import pathgame.gameplay.EscMenu;
|
|
|
|
import pathgame.gameplay.Gamestate;
|
|
import pathgame.gameplay.Gamestate;
|
|
import pathgame.gameplay.Gamestates;
|
|
import pathgame.gameplay.Gamestates;
|
|
import pathgame.gameplay.Keys;
|
|
import pathgame.gameplay.Keys;
|
|
-import pathgame.gameplay.MainMenu;
|
|
|
|
import pathgame.rendering.TileMapRenderer;
|
|
import pathgame.rendering.TileMapRenderer;
|
|
import pathgame.tilemap.TileMap;
|
|
import pathgame.tilemap.TileMap;
|
|
import pathgame.tilemap.TileMapGenerator;
|
|
import pathgame.tilemap.TileMapGenerator;
|
|
import pathgame.gameplay.Player;
|
|
import pathgame.gameplay.Player;
|
|
-import pathgame.rendering.EscMenuRenderer;
|
|
|
|
|
|
+import pathgame.gameplay.menu.Menu;
|
|
import pathgame.rendering.HUDRenderer;
|
|
import pathgame.rendering.HUDRenderer;
|
|
-import pathgame.rendering.MainMenuRenderer;
|
|
|
|
|
|
+import pathgame.rendering.MenuRenderer;
|
|
import pathgame.rendering.PlayerRenderer;
|
|
import pathgame.rendering.PlayerRenderer;
|
|
import pathgame.rendering.TileRenderer;
|
|
import pathgame.rendering.TileRenderer;
|
|
|
|
|
|
public class PathGame implements IGame
|
|
public class PathGame implements IGame
|
|
{
|
|
{
|
|
-
|
|
|
|
private final Gamestate gamestate = new Gamestate();
|
|
private final Gamestate gamestate = new Gamestate();
|
|
|
|
|
|
private final TileMapRenderer mapRenderer = new TileMapRenderer();
|
|
private final TileMapRenderer mapRenderer = new TileMapRenderer();
|
|
@@ -28,12 +25,8 @@ public class PathGame implements IGame
|
|
private final PlayerRenderer playerRenderer = new PlayerRenderer();
|
|
private final PlayerRenderer playerRenderer = new PlayerRenderer();
|
|
private final Player player = new Player(100, 10);
|
|
private final Player player = new Player(100, 10);
|
|
|
|
|
|
- private final MainMenuRenderer menuRenderer = new MainMenuRenderer();
|
|
|
|
- private final MainMenu menu = new MainMenu();
|
|
|
|
-
|
|
|
|
- private final EscMenuRenderer escMenuRenderer = new EscMenuRenderer();
|
|
|
|
- private final EscMenu escMenu = new EscMenu();
|
|
|
|
-
|
|
|
|
|
|
+ private final Menu menu = new Menu();
|
|
|
|
+ private final MenuRenderer menuRenderer = new MenuRenderer();
|
|
private final HUDRenderer hudRenderer = new HUDRenderer();
|
|
private final HUDRenderer hudRenderer = new HUDRenderer();
|
|
|
|
|
|
private float lastScale = 1.0f;
|
|
private float lastScale = 1.0f;
|
|
@@ -46,21 +39,12 @@ public class PathGame implements IGame
|
|
@Override
|
|
@Override
|
|
public void tick()
|
|
public void tick()
|
|
{
|
|
{
|
|
- checkForGamestateChange();
|
|
|
|
mapRenderer.tick();
|
|
mapRenderer.tick();
|
|
- switch(gamestate.getState())
|
|
|
|
|
|
+ if(gamestate.getState() == Gamestates.GAMEPLAY)
|
|
{
|
|
{
|
|
- case ESCMENU:
|
|
|
|
- escMenu.tick(gamestate);
|
|
|
|
- break;
|
|
|
|
- case GAMEPLAY:
|
|
|
|
- player.tick(map);
|
|
|
|
- break;
|
|
|
|
- case MAINMENU:
|
|
|
|
- menu.tick(gamestate);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
|
|
+ player.tick(map);
|
|
}
|
|
}
|
|
|
|
+ menu.tick(gamestate);
|
|
|
|
|
|
lastScale = scale;
|
|
lastScale = scale;
|
|
if(Keys.ZOOM_IN_KEY.isDown())
|
|
if(Keys.ZOOM_IN_KEY.isDown())
|
|
@@ -71,13 +55,11 @@ public class PathGame implements IGame
|
|
{
|
|
{
|
|
scale /= 1.1f;
|
|
scale /= 1.1f;
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void renderTick(Renderer r, float lag)
|
|
public void renderTick(Renderer r, float lag)
|
|
{
|
|
{
|
|
-
|
|
|
|
float interScale = lastScale + (scale - lastScale) * lag;
|
|
float interScale = lastScale + (scale - lastScale) * lag;
|
|
mapRenderer.setScale(interScale);
|
|
mapRenderer.setScale(interScale);
|
|
|
|
|
|
@@ -87,19 +69,15 @@ public class PathGame implements IGame
|
|
mapRenderer.renderTick(map, r, false, offX, offY);
|
|
mapRenderer.renderTick(map, r, false, offX, offY);
|
|
switch(gamestate.getState())
|
|
switch(gamestate.getState())
|
|
{
|
|
{
|
|
- case ESCMENU:
|
|
|
|
- escMenuRenderer.renderTick(r, lag, escMenu);
|
|
|
|
- break;
|
|
|
|
case GAMEPLAY:
|
|
case GAMEPLAY:
|
|
playerRenderer.renderTick(map, mapRenderer, r, player, lag, offX, offY);
|
|
playerRenderer.renderTick(map, mapRenderer, r, player, lag, offX, offY);
|
|
hudRenderer.renderTick(r, player, lag);
|
|
hudRenderer.renderTick(r, player, lag);
|
|
break;
|
|
break;
|
|
- case MAINMENU:
|
|
|
|
|
|
+ case MENU:
|
|
menuRenderer.renderTick(r, lag, menu);
|
|
menuRenderer.renderTick(r, lag, menu);
|
|
break;
|
|
break;
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
private float getMapOffsetX(Renderer r, float lag, float interScale)
|
|
private float getMapOffsetX(Renderer r, float lag, float interScale)
|
|
@@ -137,18 +115,5 @@ public class PathGame implements IGame
|
|
@Override
|
|
@Override
|
|
public void onStop()
|
|
public void onStop()
|
|
{
|
|
{
|
|
- //System.out.println("stopped game");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private void checkForGamestateChange()
|
|
|
|
- {
|
|
|
|
- if(Keys.ESCAPE_KEY.isDown() && Keys.ESCAPE_KEY.getTime() == 1 && gamestate.isGamestate(Gamestates.GAMEPLAY))
|
|
|
|
- {
|
|
|
|
- gamestate.setState(Gamestates.ESCMENU);
|
|
|
|
- }
|
|
|
|
- else if(Keys.ESCAPE_KEY.isDown() && Keys.ESCAPE_KEY.getTime() == 1 && gamestate.isGamestate(Gamestates.ESCMENU))
|
|
|
|
- {
|
|
|
|
- gamestate.setState(Gamestates.GAMEPLAY);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+}
|