DEADSOFTWARE

Complete game save
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / GameScreen.java
1 package ru.deadsoftware.cavecraft;
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Screen;
5 import ru.deadsoftware.cavecraft.game.GameProc;
6 import ru.deadsoftware.cavecraft.game.GameSaver;
7 import ru.deadsoftware.cavecraft.menu.MenuRenderer;
9 public class GameScreen implements Screen {
11 public static int FPS;
13 private GameProc gameProc;
14 private Renderer renderer;
15 private MenuRenderer menuRenderer;
17 public GameScreen() {
18 Assets.load();
19 Items.load();
20 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
21 renderer = menuRenderer;
22 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
23 }
25 public static int getWidth() {
26 return Gdx.graphics.getWidth();
27 }
29 public static int getHeight() {
30 return Gdx.graphics.getHeight();
31 }
33 private void game(float delta) {
34 gameProc.update(delta);
35 }
37 private void menu() {
38 }
40 @Override
41 public void show() {
42 }
44 @Override
45 public void render(float delta) {
46 FPS = (int)(1/delta);
47 switch (CaveGame.STATE) {
48 case GAME_PLAY: case GAME_CREATIVE_INV:
49 game(delta);
50 break;
52 case MENU_MAIN:
53 menu();
54 break;
56 case GOTO_NEW_GAME:
57 gameProc = new GameProc();
58 renderer = gameProc.renderer;
59 Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
60 CaveGame.STATE = AppState.GAME_PLAY;
61 break;
63 case GOTO_LOAD_GAME:_GAME:
64 gameProc = GameSaver.load();
65 renderer = gameProc.renderer;
66 Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
67 CaveGame.STATE = AppState.GAME_PLAY;
68 break;
70 case GOTO_MENU:
71 renderer = menuRenderer;
72 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
73 CaveGame.STATE = AppState.MENU_MAIN;
74 break;
75 }
76 renderer.render();
77 }
79 @Override
80 public void resize(int width, int height) {
81 switch (CaveGame.STATE) {
82 case MENU_MAIN:
83 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
84 renderer = menuRenderer;
85 break;
86 case GAME_PLAY: case GAME_CREATIVE_INV:
87 gameProc.resetRenderer();
88 renderer = gameProc.renderer;
89 break;
90 }
91 }
93 @Override
94 public void pause() {
96 }
98 @Override
99 public void resume() {
103 @Override
104 public void hide() {
108 @Override
109 public void dispose() {