DEADSOFTWARE

Fix code style
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / GameScreen.java
index efdce0440b8bb2a74d179fdd6188ee211ff59671..2704dbc4e68277ffb5eb44db0cb57b01baa22786 100644 (file)
@@ -1,23 +1,28 @@
 package ru.deadsoftware.cavecraft;
 
 import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.InputProcessor;
 import com.badlogic.gdx.Screen;
-import ru.deadsoftware.cavecraft.game.GameInputHandler;
 import ru.deadsoftware.cavecraft.game.GameProc;
-import ru.deadsoftware.cavecraft.game.GameRenderer;
+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;
+
     private GameProc gameProc;
-    private GameInputHandler gameInput;
+    private Renderer renderer;
+    private MenuRenderer menuRenderer;
 
     public GameScreen() {
         Assets.load();
-        BlocksLoader.load();
-        gameProc = new GameProc();
-        gameInput = new GameInputHandler(gameProc);
-        Gdx.input.setInputProcessor(new InputHandler());
+        Items.load();
+        menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
+        renderer = menuRenderer;
+        Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
     }
 
     public static int getWidth() {
@@ -28,20 +33,71 @@ public class GameScreen implements Screen {
         return Gdx.graphics.getHeight();
     }
 
+    private void game(float delta) {
+        gameProc.update(delta);
+    }
+
+    private void menu() {
+    }
+
     @Override
     public void show() {
-
     }
 
     @Override
     public void render(float delta) {
-        gameProc.update(delta);
-        gameProc.renderer.render();
+        FPS = (int) (1 / delta);
+        switch (CaveGame.STATE) {
+            case GAME_PLAY:
+            case GAME_CREATIVE_INV:
+                game(delta);
+                break;
+
+            case MENU_MAIN:
+                menu();
+                break;
+
+            case NEW_GAME:
+                gameProc = new GameProc();
+                renderer = gameProc.renderer;
+                Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
+                CaveGame.STATE = AppState.GAME_PLAY;
+                break;
+
+            case LOAD_GAME:
+                gameProc = GameSaver.load();
+                renderer = gameProc.renderer;
+                Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
+                CaveGame.STATE = AppState.GAME_PLAY;
+                break;
+
+            case SAVE_GAME:
+                GameSaver.save(gameProc);
+                CaveGame.STATE = AppState.MENU_MAIN;
+                break;
+
+            case GOTO_MENU:
+                menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
+                renderer = menuRenderer;
+                Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
+                break;
+        }
+        renderer.render();
     }
 
     @Override
     public void resize(int width, int height) {
-        gameProc.resetRenderer();
+        switch (CaveGame.STATE) {
+            case MENU_MAIN:
+                menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
+                renderer = menuRenderer;
+                break;
+            case GAME_PLAY:
+            case GAME_CREATIVE_INV:
+                gameProc.resetRenderer();
+                renderer = gameProc.renderer;
+                break;
+        }
     }
 
     @Override
@@ -64,61 +120,4 @@ public class GameScreen implements Screen {
 
     }
 
-    private class InputHandler implements InputProcessor {
-
-        @Override
-        public boolean keyDown(int keycode) {
-            gameInput.keyDown(keycode);
-            return false;
-        }
-
-        @Override
-        public boolean keyUp(int keycode) {
-            gameInput.keyUp(keycode);
-            return false;
-        }
-
-        @Override
-        public boolean keyTyped(char character) {
-            return false;
-        }
-
-        @Override
-        public boolean touchDown(int screenX, int screenY, int pointer, int button) {
-            screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
-            screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
-            gameInput.touchDown(screenX, screenY, button);
-            return false;
-        }
-
-        @Override
-        public boolean touchUp(int screenX, int screenY, int pointer, int button) {
-            screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
-            screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
-            gameInput.touchUp(screenX, screenY, button);
-            return false;
-        }
-
-        @Override
-        public boolean touchDragged(int screenX, int screenY, int pointer) {
-            screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
-            screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
-            gameInput.touchDragged(screenX, screenY);
-            return false;
-        }
-
-        @Override
-        public boolean mouseMoved(int screenX, int screenY) {
-            screenX *= gameProc.renderer.camera.viewportWidth/getWidth();
-            screenY *= gameProc.renderer.camera.viewportHeight/getHeight();
-            gameInput.mouseMoved(screenX,screenY);
-            return false;
-        }
-
-        @Override
-        public boolean scrolled(int amount) {
-            gameInput.scrolled(amount);
-            return false;
-        }
-    }
 }