X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2FGameScreen.java;h=e3278d1bf4c92eb973439dafe1178e9f2a3e8107;hb=cfadf32a4a39d1e437b141b88e103610561ce6ef;hp=759cbc0db800c5e8467ad7b18f59578c34565ed0;hpb=50346da46f787f84aeeb891630eea1463eb4d8de;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/GameScreen.java b/core/src/ru/deadsoftware/cavedroid/GameScreen.java index 759cbc0..e3278d1 100644 --- a/core/src/ru/deadsoftware/cavedroid/GameScreen.java +++ b/core/src/ru/deadsoftware/cavedroid/GameScreen.java @@ -5,38 +5,47 @@ 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 { +import javax.annotation.Nullable; - public static int FPS; - public static boolean SHOW_DEBUG = true; - public static int NEW_GAME_MODE = 0; +public class GameScreen implements Screen { 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; + + @Nullable 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,41 +58,32 @@ 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(); - renderer = GP.renderer; - Gdx.input.setInputProcessor(new InputHandlerGame()); - CaveGame.STATE = AppState.GAME_PLAY; + case LOAD: + renderer = GP.resetRenderer(); + 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: + CaveGame.APP_STATE = AppState.MENU; + CaveGame.MENU_STATE = MenuState.MAIN; GP.dispose(); - menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); - renderer = menuRenderer; - Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); + renderer = menuProc; + Gdx.input.setInputProcessor(menuProc); break; } renderer.render(); @@ -91,16 +91,14 @@ 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: - GP.resetRenderer(); - renderer = GP.renderer; + case GAME: + renderer = GP.resetRenderer(); break; } }