DEADSOFTWARE

Rewrite menu
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / GameScreen.java
index f741dbd62e06c8511c430043bc3eaa9b5bf61090..286ba49ed846779c741b282246d9f3bbb9e0e6ef 100644 (file)
@@ -5,8 +5,10 @@ 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;
@@ -14,21 +16,22 @@ import ru.deadsoftware.cavedroid.misc.states.MenuState;
 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;
+
+    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 +66,12 @@ public class GameScreen implements Screen {
                 break;
 
             case LOAD:
-                GP = GameSaver.load();
                 GP.resetRenderer();
-                RENDERER = GP.renderer;
-                Gdx.input.setInputProcessor(new InputHandlerGame());
+                renderer = GP.renderer;
+                if (inputHandlerGame == null) {
+                    inputHandlerGame = new InputHandlerGame();
+                }
+                Gdx.input.setInputProcessor(inputHandlerGame);
                 CaveGame.APP_STATE = AppState.GAME;
                 CaveGame.GAME_STATE = GameState.PLAY;
                 break;
@@ -76,25 +81,24 @@ 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.renderer;
                 break;
         }
     }