X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2FGameScreen.java;h=286ba49ed846779c741b282246d9f3bbb9e0e6ef;hb=0ed259db50b9cab761cd5dca5cb229e69886854b;hp=d30adba9f7d173279ef9021e1de08576ce9a3317;hpb=4eb1f6f24fb76c0336394b85393e801fd0b99da4;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/GameScreen.java b/core/src/ru/deadsoftware/cavedroid/GameScreen.java index d30adba..286ba49 100644 --- a/core/src/ru/deadsoftware/cavedroid/GameScreen.java +++ b/core/src/ru/deadsoftware/cavedroid/GameScreen.java @@ -5,38 +5,45 @@ import com.badlogic.gdx.Screen; import ru.deadsoftware.cavedroid.game.GameItems; import ru.deadsoftware.cavedroid.game.GameProc; import ru.deadsoftware.cavedroid.game.GameSaver; -import ru.deadsoftware.cavedroid.menu.MenuRenderer; -import ru.deadsoftware.cavedroid.misc.*; +import ru.deadsoftware.cavedroid.menu.MenuProc; +import ru.deadsoftware.cavedroid.misc.Assets; +import ru.deadsoftware.cavedroid.misc.InputHandlerGame; +import ru.deadsoftware.cavedroid.misc.Renderer; +import ru.deadsoftware.cavedroid.misc.states.AppState; +import ru.deadsoftware.cavedroid.misc.states.GameState; +import ru.deadsoftware.cavedroid.misc.states.MenuState; public class GameScreen implements Screen { - public static int FPS; - public static boolean SHOW_DEBUG = true; - public static int NEW_GAME_MODE = 0; - public static GameProc GP; + public static int FPS; + public static boolean SHOW_DEBUG = false; + public static boolean SHOW_MAP = false; + private Renderer renderer; - private MenuRenderer menuRenderer; + private MenuProc menuProc; + + private InputHandlerGame inputHandlerGame; public GameScreen() { Assets.load(); GameItems.load(); - menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); - renderer = menuRenderer; - Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); + menuProc = new MenuProc(CaveGame.TOUCH ? 320 : 480); + renderer = menuProc; + Gdx.input.setInputProcessor(menuProc); } - public static int getWidth() { + public static float getWidth() { return Gdx.graphics.getWidth(); } - public static int getHeight() { + public static float getHeight() { return Gdx.graphics.getHeight(); } - private void game(float delta) { - GP.update(delta); + private void game() { + GP.update(); } private void menu() { @@ -49,40 +56,33 @@ 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); + switch (CaveGame.APP_STATE) { + case GAME: + game(); break; - case MENU_MAIN: + case MENU: menu(); break; - 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(); + case LOAD: + GP.resetRenderer(); renderer = GP.renderer; - Gdx.input.setInputProcessor(new InputHandlerGame()); - CaveGame.STATE = AppState.GAME_PLAY; + if (inputHandlerGame == null) { + inputHandlerGame = new InputHandlerGame(); + } + Gdx.input.setInputProcessor(inputHandlerGame); + CaveGame.APP_STATE = AppState.GAME; + CaveGame.GAME_STATE = GameState.PLAY; break; - case SAVE_GAME: + case SAVE: 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)); + CaveGame.APP_STATE = AppState.MENU; + CaveGame.MENU_STATE = MenuState.MAIN; + GP.dispose(); + renderer = menuProc; + Gdx.input.setInputProcessor(menuProc); break; } renderer.render(); @@ -90,14 +90,13 @@ public class GameScreen implements Screen { @Override public void resize(int width, int height) { - switch (CaveGame.STATE) { - case MENU_MAIN: - menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); - Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); - renderer = menuRenderer; + switch (CaveGame.APP_STATE) { + case MENU: + menuProc = new MenuProc(CaveGame.TOUCH ? 320 : 480); + Gdx.input.setInputProcessor(menuProc); + renderer = menuProc; break; - case GAME_PLAY: - case GAME_CREATIVE_INV: + case GAME: GP.resetRenderer(); renderer = GP.renderer; break;