DEADSOFTWARE

Refactor
[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.Assets;
10 import ru.deadsoftware.cavedroid.misc.InputHandlerGame;
11 import ru.deadsoftware.cavedroid.misc.InputHandlerMenu;
12 import ru.deadsoftware.cavedroid.misc.Renderer;
13 import ru.deadsoftware.cavedroid.misc.states.AppState;
14 import ru.deadsoftware.cavedroid.misc.states.GameState;
15 import ru.deadsoftware.cavedroid.misc.states.MenuState;
17 public class GameScreen implements Screen {
19 public static GameProc GP;
21 public static int FPS;
22 public static boolean SHOW_DEBUG = false;
23 public static boolean SHOW_MAP = false;
25 private Renderer renderer;
26 private MenuRenderer menuRenderer;
28 private InputHandlerGame inputHandlerGame;
29 private InputHandlerMenu inputHandlerMenu;
31 public GameScreen() {
32 Assets.load();
33 GameItems.load();
34 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
35 inputHandlerMenu = new InputHandlerMenu(menuRenderer);
36 renderer = menuRenderer;
37 Gdx.input.setInputProcessor(inputHandlerMenu);
38 }
40 public static float getWidth() {
41 return Gdx.graphics.getWidth();
42 }
44 public static float getHeight() {
45 return Gdx.graphics.getHeight();
46 }
48 private void game() {
49 GP.update();
50 }
52 private void menu() {
53 }
55 @Override
56 public void show() {
57 }
59 @Override
60 public void render(float delta) {
61 FPS = (int) (1 / delta);
62 switch (CaveGame.APP_STATE) {
63 case GAME:
64 game();
65 break;
67 case MENU:
68 menu();
69 break;
71 case LOAD:
72 GP.resetRenderer();
73 renderer = GP.renderer;
74 if (inputHandlerGame == null) {
75 inputHandlerGame = new InputHandlerGame();
76 }
77 Gdx.input.setInputProcessor(inputHandlerGame);
78 CaveGame.APP_STATE = AppState.GAME;
79 CaveGame.GAME_STATE = GameState.PLAY;
80 break;
82 case SAVE:
83 GameSaver.save(GP);
84 CaveGame.APP_STATE = AppState.MENU;
85 CaveGame.MENU_STATE = MenuState.MAIN;
86 GP.dispose();
87 renderer = menuRenderer;
88 Gdx.input.setInputProcessor(inputHandlerMenu);
89 break;
90 }
91 renderer.render();
92 }
94 @Override
95 public void resize(int width, int height) {
96 switch (CaveGame.APP_STATE) {
97 case MENU:
98 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
99 Gdx.input.setInputProcessor(inputHandlerMenu);
100 renderer = menuRenderer;
101 break;
102 case GAME:
103 GP.resetRenderer();
104 renderer = GP.renderer;
105 break;
109 @Override
110 public void pause() {
114 @Override
115 public void resume() {
119 @Override
120 public void hide() {
124 @Override
125 public void dispose() {