DEADSOFTWARE

c77c9e08032e6efe725cb6be42d07f248873464d
[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.GameItems;
6 import ru.deadsoftware.cavecraft.game.GameProc;
7 import ru.deadsoftware.cavecraft.game.GameSaver;
8 import ru.deadsoftware.cavecraft.menu.MenuRenderer;
9 import ru.deadsoftware.cavecraft.misc.*;
11 public class GameScreen implements Screen {
13 public static int FPS;
14 public static boolean SHOW_DEBUG = false;
15 public static int NEW_GAME_MODE = 0;
17 private GameProc gp;
18 private Renderer renderer;
19 private MenuRenderer menuRenderer;
21 public GameScreen() {
22 Assets.load();
23 GameItems.load();
24 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
25 renderer = menuRenderer;
26 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
27 }
29 public static int getWidth() {
30 return Gdx.graphics.getWidth();
31 }
33 public static int getHeight() {
34 return Gdx.graphics.getHeight();
35 }
37 private void game(float delta) {
38 gp.update(delta);
39 }
41 private void menu() {
42 }
44 @Override
45 public void show() {
46 }
48 @Override
49 public void render(float delta) {
50 FPS = (int) (1 / delta);
51 switch (CaveGame.STATE) {
52 case GAME_PLAY:
53 case GAME_CREATIVE_INV:
54 game(delta);
55 break;
57 case MENU_MAIN:
58 menu();
59 break;
61 case NEW_GAME:
62 gp = new GameProc(NEW_GAME_MODE);
63 renderer = gp.renderer;
64 Gdx.input.setInputProcessor(new InputHandlerGame(gp));
65 CaveGame.STATE = AppState.GAME_PLAY;
66 break;
68 case LOAD_GAME:
69 gp = GameSaver.load();
70 renderer = gp.renderer;
71 Gdx.input.setInputProcessor(new InputHandlerGame(gp));
72 CaveGame.STATE = AppState.GAME_PLAY;
73 break;
75 case SAVE_GAME:
76 GameSaver.save(gp);
77 CaveGame.STATE = AppState.MENU_MAIN;
78 break;
80 case GOTO_MENU:
81 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
82 renderer = menuRenderer;
83 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
84 break;
85 }
86 renderer.render();
87 }
89 @Override
90 public void resize(int width, int height) {
91 switch (CaveGame.STATE) {
92 case MENU_MAIN:
94 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
95 renderer = menuRenderer;
96 break;
97 case GAME_PLAY:
98 case GAME_CREATIVE_INV:
99 gp.resetRenderer();
100 renderer = gp.renderer;
101 break;
105 @Override
106 public void pause() {
110 @Override
111 public void resume() {
115 @Override
116 public void hide() {
120 @Override
121 public void dispose() {