DEADSOFTWARE

f741dbd62e06c8511c430043bc3eaa9b5bf61090
[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.*;
10 import ru.deadsoftware.cavedroid.misc.states.AppState;
11 import ru.deadsoftware.cavedroid.misc.states.GameState;
12 import ru.deadsoftware.cavedroid.misc.states.MenuState;
14 public class GameScreen implements Screen {
16 public static GameProc GP;
17 public static Renderer RENDERER;
19 public static int FPS;
20 public static boolean SHOW_DEBUG = true;
21 public static boolean SHOW_MAP = false;
22 public static int NEW_GAME_MODE = 0;
24 private MenuRenderer menuRenderer;
26 public GameScreen() {
27 Assets.load();
28 GameItems.load();
29 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
30 RENDERER = menuRenderer;
31 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
32 }
34 public static float getWidth() {
35 return Gdx.graphics.getWidth();
36 }
38 public static float getHeight() {
39 return Gdx.graphics.getHeight();
40 }
42 private void game() {
43 GP.update();
44 }
46 private void menu() {
47 }
49 @Override
50 public void show() {
51 }
53 @Override
54 public void render(float delta) {
55 FPS = (int) (1 / delta);
56 switch (CaveGame.APP_STATE) {
57 case GAME:
58 game();
59 break;
61 case MENU:
62 menu();
63 break;
65 case LOAD:
66 GP = GameSaver.load();
67 GP.resetRenderer();
68 RENDERER = GP.renderer;
69 Gdx.input.setInputProcessor(new InputHandlerGame());
70 CaveGame.APP_STATE = AppState.GAME;
71 CaveGame.GAME_STATE = GameState.PLAY;
72 break;
74 case SAVE:
75 GameSaver.save(GP);
76 CaveGame.APP_STATE = AppState.MENU;
77 CaveGame.MENU_STATE = MenuState.MAIN;
78 GP.dispose();
79 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
80 RENDERER = menuRenderer;
81 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
82 break;
83 }
84 RENDERER.render();
85 }
87 @Override
88 public void resize(int width, int height) {
89 switch (CaveGame.APP_STATE) {
90 case MENU:
91 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
92 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
93 RENDERER = menuRenderer;
94 break;
95 case GAME:
96 GP.resetRenderer();
97 RENDERER = GP.renderer;
98 break;
99 }
102 @Override
103 public void pause() {
107 @Override
108 public void resume() {
112 @Override
113 public void hide() {
117 @Override
118 public void dispose() {