DEADSOFTWARE

Fix bugs
[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 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 LOAD_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 SAVE_GAME:
71 GameSaver.save(gameProc);
72 CaveGame.STATE = AppState.MENU_MAIN;
73 break;
75 case GOTO_MENU:
76 renderer = menuRenderer;
77 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
78 break;
79 }
80 renderer.render();
81 }
83 @Override
84 public void resize(int width, int height) {
85 switch (CaveGame.STATE) {
86 case MENU_MAIN:
87 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
88 renderer = menuRenderer;
89 break;
90 case GAME_PLAY: case GAME_CREATIVE_INV:
91 gameProc.resetRenderer();
92 renderer = gameProc.renderer;
93 break;
94 }
95 }
97 @Override
98 public void pause() {
102 @Override
103 public void resume() {
107 @Override
108 public void hide() {
112 @Override
113 public void dispose() {