DEADSOFTWARE

6b5382e0909261a4f0b49f3f92958f821084ca81
[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 = false;
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 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
84 renderer = menuRenderer;
85 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
86 break;
87 }
88 renderer.render();
89 }
91 @Override
92 public void resize(int width, int height) {
93 switch (CaveGame.STATE) {
94 case MENU_MAIN:
96 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
97 renderer = menuRenderer;
98 break;
99 case GAME_PLAY:
100 case GAME_CREATIVE_INV:
101 GP.resetRenderer();
102 renderer = GP.renderer;
103 break;
107 @Override
108 public void pause() {
112 @Override
113 public void resume() {
117 @Override
118 public void hide() {
122 @Override
123 public void dispose() {