DEADSOFTWARE

One GameProc object for everything
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / GameScreen.java
index d359fe92030420e7baa1abf591848bf946143b4e..0bbd9966f6a95af78c0f23313ede6657b053b102 100644 (file)
@@ -2,24 +2,27 @@ package ru.deadsoftware.cavecraft;
 
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.Screen;
+import ru.deadsoftware.cavecraft.game.GameItems;
 import ru.deadsoftware.cavecraft.game.GameProc;
 import ru.deadsoftware.cavecraft.game.GameSaver;
-import ru.deadsoftware.cavecraft.game.Items;
 import ru.deadsoftware.cavecraft.menu.MenuRenderer;
 import ru.deadsoftware.cavecraft.misc.*;
 
 public class GameScreen implements Screen {
 
     public static int FPS;
+    public static boolean SHOW_DEBUG = false;
+    public static int NEW_GAME_MODE = 0;
+
+    public static GameProc GP;
 
-    private GameProc gameProc;
     private Renderer renderer;
     private MenuRenderer menuRenderer;
 
     public GameScreen() {
         Assets.load();
-        Items.load();
-        menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
+        GameItems.load();
+        menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
         renderer = menuRenderer;
         Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
     }
@@ -33,7 +36,7 @@ public class GameScreen implements Screen {
     }
 
     private void game(float delta) {
-        gameProc.update(delta);
+        GP.update(delta);
     }
 
     private void menu() {
@@ -45,9 +48,10 @@ public class GameScreen implements Screen {
 
     @Override
     public void render(float delta) {
-        FPS = (int)(1/delta);
+        FPS = (int) (1 / delta);
         switch (CaveGame.STATE) {
-            case GAME_PLAY: case GAME_CREATIVE_INV:
+            case GAME_PLAY:
+            case GAME_CREATIVE_INV:
                 game(delta);
                 break;
 
@@ -56,26 +60,27 @@ public class GameScreen implements Screen {
                 break;
 
             case NEW_GAME:
-                gameProc = new GameProc();
-                renderer = gameProc.renderer;
-                Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
+                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:
-                gameProc = GameSaver.load();
-                renderer = gameProc.renderer;
-                Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
+                GP = GameSaver.load();
+                renderer = GP.renderer;
+                Gdx.input.setInputProcessor(new InputHandlerGame());
                 CaveGame.STATE = AppState.GAME_PLAY;
                 break;
 
             case SAVE_GAME:
-                GameSaver.save(gameProc);
+                GameSaver.save(GP);
                 CaveGame.STATE = AppState.MENU_MAIN;
                 break;
 
             case GOTO_MENU:
-                menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
+                menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
                 renderer = menuRenderer;
                 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
                 break;
@@ -87,12 +92,14 @@ public class GameScreen implements Screen {
     public void resize(int width, int height) {
         switch (CaveGame.STATE) {
             case MENU_MAIN:
-                menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
+
+                menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
                 renderer = menuRenderer;
                 break;
-            case GAME_PLAY: case GAME_CREATIVE_INV:
-                gameProc.resetRenderer();
-                renderer = gameProc.renderer;
+            case GAME_PLAY:
+            case GAME_CREATIVE_INV:
+                GP.resetRenderer();
+                renderer = GP.renderer;
                 break;
         }
     }