X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2FGameScreen.java;h=1c6ad795349289701f3a2bfaeb29503a799f0fba;hb=d1510d8504e14edc4b21ded60c8b5f0b910806c2;hp=f227302c5febd06e0ef93b1fe9c47d08f3a137f6;hpb=62aa73cc7dfd177befe22784940c1bab13d94024;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/GameScreen.java b/core/src/ru/deadsoftware/cavecraft/GameScreen.java index f227302..1c6ad79 100644 --- a/core/src/ru/deadsoftware/cavecraft/GameScreen.java +++ b/core/src/ru/deadsoftware/cavecraft/GameScreen.java @@ -2,14 +2,23 @@ package ru.deadsoftware.cavecraft; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; -import ru.deadsoftware.cavecraft.game.GameRenderer; +import ru.deadsoftware.cavecraft.game.GameProc; +import ru.deadsoftware.cavecraft.menu.MenuRenderer; public class GameScreen implements Screen { - private GameRenderer renderer; + public static int FPS; + + private GameProc gameProc; + private Renderer renderer; + private MenuRenderer menuRenderer; public GameScreen() { - renderer = new GameRenderer(); + Assets.load(); + Items.load(); + menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480); + renderer = menuRenderer; + Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); } public static int getWidth() { @@ -20,6 +29,13 @@ public class GameScreen implements Screen { return Gdx.graphics.getHeight(); } + private void game(float delta) { + gameProc.update(delta); + } + + private void menu() { + } + @Override public void show() { @@ -27,12 +43,44 @@ public class GameScreen implements Screen { @Override public void render(float delta) { + FPS = (int)(1/delta); + switch (CaveGame.STATE) { + case GAME_PLAY: case GAME_CREATIVE_INV: + game(delta); + break; + + case MENU_MAIN: + menu(); + break; + + case GOTO_GAME: + gameProc = new GameProc(); + renderer = gameProc.renderer; + Gdx.input.setInputProcessor(new InputHandlerGame(gameProc)); + CaveGame.STATE = AppState.GAME_PLAY; + break; + + case GOTO_MENU: + renderer = menuRenderer; + Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); + CaveGame.STATE = AppState.MENU_MAIN; + break; + } renderer.render(); } @Override public void resize(int width, int height) { - + switch (CaveGame.STATE) { + case MENU_MAIN: + menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480); + renderer = menuRenderer; + break; + case GAME_PLAY: case GAME_CREATIVE_INV: + gameProc.resetRenderer(); + renderer = gameProc.renderer; + break; + } } @Override @@ -54,4 +102,5 @@ public class GameScreen implements Screen { public void dispose() { } + }