X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2FGameScreen.java;h=0bbd9966f6a95af78c0f23313ede6657b053b102;hb=22eccb137bf9642700f762dd39cf02ea144bdca3;hp=6daa039bdb5043143300029941094c1b18a10ff5;hpb=4140ddda97930af75b0d50b821ed9eb6337273e2;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/GameScreen.java b/core/src/ru/deadsoftware/cavecraft/GameScreen.java index 6daa039..0bbd996 100644 --- a/core/src/ru/deadsoftware/cavecraft/GameScreen.java +++ b/core/src/ru/deadsoftware/cavecraft/GameScreen.java @@ -2,22 +2,29 @@ package ru.deadsoftware.cavecraft; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; +import ru.deadsoftware.cavecraft.game.GameItems; import ru.deadsoftware.cavecraft.game.GameProc; +import ru.deadsoftware.cavecraft.game.GameSaver; import ru.deadsoftware.cavecraft.menu.MenuRenderer; +import ru.deadsoftware.cavecraft.misc.*; public class GameScreen implements Screen { public static int FPS; + public static boolean SHOW_DEBUG = false; + public static int NEW_GAME_MODE = 0; + + public static GameProc GP; - private GameProc gameProc; private Renderer renderer; + private MenuRenderer menuRenderer; public GameScreen() { Assets.load(); - Items.load(); - gameProc = new GameProc(); - renderer = new MenuRenderer(); - Gdx.input.setInputProcessor(new InputHandlerMenu()); + GameItems.load(); + menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); + renderer = menuRenderer; + Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); } public static int getWidth() { @@ -29,7 +36,7 @@ public class GameScreen implements Screen { } private void game(float delta) { - gameProc.update(delta); + GP.update(delta); } private void menu() { @@ -37,14 +44,14 @@ public class GameScreen implements Screen { @Override public void show() { - } @Override public void render(float delta) { - FPS = (int)(1/delta); + FPS = (int) (1 / delta); switch (CaveGame.STATE) { - case GAME_PLAY: case GAME_CREATIVE_INV: + case GAME_PLAY: + case GAME_CREATIVE_INV: game(delta); break; @@ -52,10 +59,30 @@ public class GameScreen implements Screen { menu(); break; - case RESTART: - gameProc = new GameProc(); - Gdx.input.setInputProcessor(new InputHandlerGame(gameProc)); - CaveGame.STATE = GameState.GAME_PLAY; + case NEW_GAME: + GP = new GameProc(); + GP.initGame(NEW_GAME_MODE); + renderer = GP.renderer; + Gdx.input.setInputProcessor(new InputHandlerGame()); + CaveGame.STATE = AppState.GAME_PLAY; + break; + + case LOAD_GAME: + GP = GameSaver.load(); + renderer = GP.renderer; + Gdx.input.setInputProcessor(new InputHandlerGame()); + CaveGame.STATE = AppState.GAME_PLAY; + break; + + case SAVE_GAME: + GameSaver.save(GP); + CaveGame.STATE = AppState.MENU_MAIN; + break; + + case GOTO_MENU: + menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); + renderer = menuRenderer; + Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); break; } renderer.render(); @@ -65,10 +92,14 @@ public class GameScreen implements Screen { public void resize(int width, int height) { switch (CaveGame.STATE) { case MENU_MAIN: - renderer = new MenuRenderer(); + + menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); + renderer = menuRenderer; break; - case GAME_PLAY: case GAME_CREATIVE_INV: - gameProc.resetRenderer(); + case GAME_PLAY: + case GAME_CREATIVE_INV: + GP.resetRenderer(); + renderer = GP.renderer; break; } }