12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package pathgame;
- import me.hammerle.snuviengine.api.Game;
- import me.hammerle.snuviengine.api.Gamepad;
- import me.hammerle.snuviengine.api.Renderer;
- import me.hammerle.snuviengine.api.Stats;
- import pathgame.gameplay.Gamestate;
- import pathgame.gameplay.Gamestates;
- import pathgame.gameplay.Keys;
- import pathgame.gameplay.Level;
- import pathgame.gameplay.menu.Menu;
- import pathgame.rendering.LevelRenderer;
- import pathgame.rendering.MenuRenderer;
- public class PathGame implements Game {
- private final Gamestate gamestate = new Gamestate();
- private final Level level = new Level();
- private final LevelRenderer levelRenderer = new LevelRenderer();
- private Menu menu;
- private MenuRenderer menuRenderer;
- private Keys keys;
- @Override
- public void onCompleteInitialization(Stats stats, me.hammerle.snuviengine.api.Keys keys, Gamepad gamepad) {
- this.keys = new Keys(keys);
- menu = new Menu(this.keys);
- menuRenderer = new MenuRenderer(this.keys);
- }
- @Override
- public void tick() {
- level.tick(gamestate, keys);
- levelRenderer.tick(level, gamestate, keys);
- menu.tick(gamestate, level, keys);
- if(keys.test.getTime() == 1) {
- //level.nextLevel();
- level.getPlayer().win(level.getMap());
- }
- }
- @Override
- public void renderTick(Renderer r, float lag) {
- if(gamestate.is(Gamestates.MENU)) {
- levelRenderer.renderTick(r, 0.0f, level, gamestate, keys);
- menuRenderer.renderTick(r, 0.0f, menu, keys);
- } else {
- levelRenderer.renderTick(r, lag, level, gamestate, keys);
- }
- }
- @Override
- public void onStop() {
- }
- @Override
- public boolean isRunning() {
- return gamestate.isRunning();
- }
- }
|