DEADSOFTWARE

dc7bb60c9cb746795b3ce40245dde99c6705252c
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / GameScreen.java
1 package ru.deadsoftware.cavecraft;
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Screen;
5 import ru.deadsoftware.cavecraft.game.GameProc;
6 import ru.deadsoftware.cavecraft.game.GameSaver;
7 import ru.deadsoftware.cavecraft.game.Items;
8 import ru.deadsoftware.cavecraft.menu.MenuRenderer;
9 import ru.deadsoftware.cavecraft.misc.*;
11 public class GameScreen implements Screen {
13 public static int FPS;
14 public static boolean SHOW_DEBUG = false;
16 private GameProc gameProc;
17 private Renderer renderer;
18 private MenuRenderer menuRenderer;
20 public GameScreen() {
21 Assets.load();
22 Items.load();
23 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
24 renderer = menuRenderer;
25 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
26 }
28 public static int getWidth() {
29 return Gdx.graphics.getWidth();
30 }
32 public static int getHeight() {
33 return Gdx.graphics.getHeight();
34 }
36 private void game(float delta) {
37 gameProc.update(delta);
38 }
40 private void menu() {
41 }
43 @Override
44 public void show() {
45 }
47 @Override
48 public void render(float delta) {
49 FPS = (int)(1/delta);
50 switch (CaveGame.STATE) {
51 case GAME_PLAY: case GAME_CREATIVE_INV:
52 game(delta);
53 break;
55 case MENU_MAIN:
56 menu();
57 break;
59 case NEW_GAME:
60 gameProc = new GameProc();
61 renderer = gameProc.renderer;
62 Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
63 CaveGame.STATE = AppState.GAME_PLAY;
64 break;
66 case LOAD_GAME:
67 gameProc = GameSaver.load();
68 renderer = gameProc.renderer;
69 Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
70 CaveGame.STATE = AppState.GAME_PLAY;
71 break;
73 case SAVE_GAME:
74 GameSaver.save(gameProc);
75 CaveGame.STATE = AppState.MENU_MAIN;
76 break;
78 case GOTO_MENU:
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.STATE) {
90 case MENU_MAIN:
91 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
92 renderer = menuRenderer;
93 break;
94 case GAME_PLAY: case GAME_CREATIVE_INV:
95 gameProc.resetRenderer();
96 renderer = gameProc.renderer;
97 break;
98 }
99 }
101 @Override
102 public void pause() {
106 @Override
107 public void resume() {
111 @Override
112 public void hide() {
116 @Override
117 public void dispose() {