X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2FGameScreen.java;h=e3278d1bf4c92eb973439dafe1178e9f2a3e8107;hb=cfadf32a4a39d1e437b141b88e103610561ce6ef;hp=f741dbd62e06c8511c430043bc3eaa9b5bf61090;hpb=2948fcd9c40ebf588ef7d0e7cd8dd34ecaa1f9b2;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/GameScreen.java b/core/src/ru/deadsoftware/cavedroid/GameScreen.java index f741dbd..e3278d1 100644 --- a/core/src/ru/deadsoftware/cavedroid/GameScreen.java +++ b/core/src/ru/deadsoftware/cavedroid/GameScreen.java @@ -5,30 +5,35 @@ 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; +import javax.annotation.Nullable; + public class GameScreen implements Screen { public static GameProc GP; - public static Renderer RENDERER; public static int FPS; - public static boolean SHOW_DEBUG = true; + public static boolean SHOW_DEBUG = false; public static boolean SHOW_MAP = false; - public static int NEW_GAME_MODE = 0; - private MenuRenderer menuRenderer; + private Renderer renderer; + 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 float getWidth() { @@ -63,10 +68,11 @@ public class GameScreen implements Screen { break; case LOAD: - GP = GameSaver.load(); - GP.resetRenderer(); - RENDERER = GP.renderer; - Gdx.input.setInputProcessor(new InputHandlerGame()); + renderer = GP.resetRenderer(); + if (inputHandlerGame == null) { + inputHandlerGame = new InputHandlerGame(); + } + Gdx.input.setInputProcessor(inputHandlerGame); CaveGame.APP_STATE = AppState.GAME; CaveGame.GAME_STATE = GameState.PLAY; break; @@ -76,25 +82,23 @@ public class GameScreen implements Screen { 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(); + renderer.render(); } @Override public void resize(int width, int height) { switch (CaveGame.APP_STATE) { case MENU: - menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480); - Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer)); - RENDERER = menuRenderer; + menuProc = new MenuProc(CaveGame.TOUCH ? 320 : 480); + Gdx.input.setInputProcessor(menuProc); + renderer = menuProc; break; case GAME: - GP.resetRenderer(); - RENDERER = GP.renderer; + renderer = GP.resetRenderer(); break; } }