DEADSOFTWARE

Rewrite menu
[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.MenuProc;
9 import ru.deadsoftware.cavedroid.misc.Assets;
10 import ru.deadsoftware.cavedroid.misc.InputHandlerGame;
11 import ru.deadsoftware.cavedroid.misc.Renderer;
12 import ru.deadsoftware.cavedroid.misc.states.AppState;
13 import ru.deadsoftware.cavedroid.misc.states.GameState;
14 import ru.deadsoftware.cavedroid.misc.states.MenuState;
16 public class GameScreen implements Screen {
18 public static GameProc GP;
20 public static int FPS;
21 public static boolean SHOW_DEBUG = false;
22 public static boolean SHOW_MAP = false;
24 private Renderer renderer;
25 private MenuProc menuProc;
27 private InputHandlerGame inputHandlerGame;
29 public GameScreen() {
30 Assets.load();
31 GameItems.load();
32 menuProc = new MenuProc(CaveGame.TOUCH ? 320 : 480);
33 renderer = menuProc;
34 Gdx.input.setInputProcessor(menuProc);
35 }
37 public static float getWidth() {
38 return Gdx.graphics.getWidth();
39 }
41 public static float getHeight() {
42 return Gdx.graphics.getHeight();
43 }
45 private void game() {
46 GP.update();
47 }
49 private void menu() {
50 }
52 @Override
53 public void show() {
54 }
56 @Override
57 public void render(float delta) {
58 FPS = (int) (1 / delta);
59 switch (CaveGame.APP_STATE) {
60 case GAME:
61 game();
62 break;
64 case MENU:
65 menu();
66 break;
68 case LOAD:
69 GP.resetRenderer();
70 renderer = GP.renderer;
71 if (inputHandlerGame == null) {
72 inputHandlerGame = new InputHandlerGame();
73 }
74 Gdx.input.setInputProcessor(inputHandlerGame);
75 CaveGame.APP_STATE = AppState.GAME;
76 CaveGame.GAME_STATE = GameState.PLAY;
77 break;
79 case SAVE:
80 GameSaver.save(GP);
81 CaveGame.APP_STATE = AppState.MENU;
82 CaveGame.MENU_STATE = MenuState.MAIN;
83 GP.dispose();
84 renderer = menuProc;
85 Gdx.input.setInputProcessor(menuProc);
86 break;
87 }
88 renderer.render();
89 }
91 @Override
92 public void resize(int width, int height) {
93 switch (CaveGame.APP_STATE) {
94 case MENU:
95 menuProc = new MenuProc(CaveGame.TOUCH ? 320 : 480);
96 Gdx.input.setInputProcessor(menuProc);
97 renderer = menuProc;
98 break;
99 case GAME:
100 GP.resetRenderer();
101 renderer = GP.renderer;
102 break;
106 @Override
107 public void pause() {
111 @Override
112 public void resume() {
116 @Override
117 public void hide() {
121 @Override
122 public void dispose() {