diff --git a/core/src/ru/deadsoftware/cavedroid/GameScreen.java b/core/src/ru/deadsoftware/cavedroid/GameScreen.java
index 759cbc0db800c5e8467ad7b18f59578c34565ed0..286ba49ed846779c741b282246d9f3bbb9e0e6ef 100644 (file)
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() {
@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:
+ 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();
@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;