DEADSOFTWARE

Stop fluid updater when game exited
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / GameScreen.java
1 package ru.deadsoftware.cavedroid;
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Screen;
5 import ru.deadsoftware.cavedroid.game.GameItems;
6 import ru.deadsoftware.cavedroid.game.GameProc;
7 import ru.deadsoftware.cavedroid.game.GameSaver;
8 import ru.deadsoftware.cavedroid.menu.MenuRenderer;
9 import ru.deadsoftware.cavedroid.misc.*;
11 public class GameScreen implements Screen {
13 public static int FPS;
14 public static boolean SHOW_DEBUG = true;
15 public static int NEW_GAME_MODE = 0;
17 public static GameProc GP;
19 private Renderer renderer;
20 private MenuRenderer menuRenderer;
22 public GameScreen() {
23 Assets.load();
24 GameItems.load();
25 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
26 renderer = menuRenderer;
27 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
28 }
30 public static int getWidth() {
31 return Gdx.graphics.getWidth();
32 }
34 public static int getHeight() {
35 return Gdx.graphics.getHeight();
36 }
38 private void game(float delta) {
39 GP.update(delta);
40 }
42 private void menu() {
43 }
45 @Override
46 public void show() {
47 }
49 @Override
50 public void render(float delta) {
51 FPS = (int) (1 / delta);
52 switch (CaveGame.STATE) {
53 case GAME_PLAY:
54 case GAME_CREATIVE_INV:
55 game(delta);
56 break;
58 case MENU_MAIN:
59 menu();
60 break;
62 case NEW_GAME:
63 GP = new GameProc();
64 GP.initGame(NEW_GAME_MODE);
65 renderer = GP.renderer;
66 Gdx.input.setInputProcessor(new InputHandlerGame());
67 CaveGame.STATE = AppState.GAME_PLAY;
68 break;
70 case LOAD_GAME:
71 GP = GameSaver.load();
72 renderer = GP.renderer;
73 Gdx.input.setInputProcessor(new InputHandlerGame());
74 CaveGame.STATE = AppState.GAME_PLAY;
75 break;
77 case SAVE_GAME:
78 GameSaver.save(GP);
79 CaveGame.STATE = AppState.MENU_MAIN;
80 break;
82 case GOTO_MENU:
83 GP.dispose();
84 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
85 renderer = menuRenderer;
86 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
87 break;
88 }
89 renderer.render();
90 }
92 @Override
93 public void resize(int width, int height) {
94 switch (CaveGame.STATE) {
95 case MENU_MAIN:
96 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
97 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
98 renderer = menuRenderer;
99 break;
100 case GAME_PLAY:
101 case GAME_CREATIVE_INV:
102 GP.resetRenderer();
103 renderer = GP.renderer;
104 break;
108 @Override
109 public void pause() {
113 @Override
114 public void resume() {
118 @Override
119 public void hide() {
123 @Override
124 public void dispose() {