DEADSOFTWARE

Move misc classes
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / GameScreen.java
index 6daa039bdb5043143300029941094c1b18a10ff5..d359fe92030420e7baa1abf591848bf946143b4e 100644 (file)
@@ -3,7 +3,10 @@ package ru.deadsoftware.cavecraft;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.Screen;
 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 {
 
@@ -11,13 +14,14 @@ public class GameScreen implements Screen {
 
     private GameProc gameProc;
     private Renderer renderer;
+    private MenuRenderer menuRenderer;
 
     public GameScreen() {
         Assets.load();
         Items.load();
-        gameProc = new GameProc();
-        renderer = new MenuRenderer();
-        Gdx.input.setInputProcessor(new InputHandlerMenu());
+        menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
+        renderer = menuRenderer;
+        Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
     }
 
     public static int getWidth() {
@@ -37,7 +41,6 @@ public class GameScreen implements Screen {
 
     @Override
     public void show() {
-
     }
 
     @Override
@@ -52,10 +55,29 @@ public class GameScreen implements Screen {
                 menu();
                 break;
 
-            case RESTART:
+            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 = GameState.GAME_PLAY;
+                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();
@@ -65,10 +87,12 @@ public class GameScreen implements Screen {
     public void resize(int width, int height) {
         switch (CaveGame.STATE) {
             case MENU_MAIN:
-                renderer = new MenuRenderer();
+                menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
+                renderer = menuRenderer;
                 break;
             case GAME_PLAY: case GAME_CREATIVE_INV:
                 gameProc.resetRenderer();
+                renderer = gameProc.renderer;
                 break;
         }
     }