DEADSOFTWARE

d359fe92030420e7baa1abf591848bf946143b4e
[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;
15 private GameProc gameProc;
16 private Renderer renderer;
17 private MenuRenderer menuRenderer;
19 public GameScreen() {
20 Assets.load();
21 Items.load();
22 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
23 renderer = menuRenderer;
24 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
25 }
27 public static int getWidth() {
28 return Gdx.graphics.getWidth();
29 }
31 public static int getHeight() {
32 return Gdx.graphics.getHeight();
33 }
35 private void game(float delta) {
36 gameProc.update(delta);
37 }
39 private void menu() {
40 }
42 @Override
43 public void show() {
44 }
46 @Override
47 public void render(float delta) {
48 FPS = (int)(1/delta);
49 switch (CaveGame.STATE) {
50 case GAME_PLAY: case GAME_CREATIVE_INV:
51 game(delta);
52 break;
54 case MENU_MAIN:
55 menu();
56 break;
58 case NEW_GAME:
59 gameProc = new GameProc();
60 renderer = gameProc.renderer;
61 Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
62 CaveGame.STATE = AppState.GAME_PLAY;
63 break;
65 case LOAD_GAME:
66 gameProc = GameSaver.load();
67 renderer = gameProc.renderer;
68 Gdx.input.setInputProcessor(new InputHandlerGame(gameProc));
69 CaveGame.STATE = AppState.GAME_PLAY;
70 break;
72 case SAVE_GAME:
73 GameSaver.save(gameProc);
74 CaveGame.STATE = AppState.MENU_MAIN;
75 break;
77 case GOTO_MENU:
78 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
79 renderer = menuRenderer;
80 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
81 break;
82 }
83 renderer.render();
84 }
86 @Override
87 public void resize(int width, int height) {
88 switch (CaveGame.STATE) {
89 case MENU_MAIN:
90 menuRenderer = new MenuRenderer(CaveGame.TOUCH?320:480);
91 renderer = menuRenderer;
92 break;
93 case GAME_PLAY: case GAME_CREATIVE_INV:
94 gameProc.resetRenderer();
95 renderer = gameProc.renderer;
96 break;
97 }
98 }
100 @Override
101 public void pause() {
105 @Override
106 public void resume() {
110 @Override
111 public void hide() {
115 @Override
116 public void dispose() {