DEADSOFTWARE

545ee3f74f0f500f13481286b2f6a5f284be8006
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / GameScreen.java
1 package ru.deadsoftware.cavecraft;
2
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Screen;
5 import ru.deadsoftware.cavecraft.game.GameItems;
6 import ru.deadsoftware.cavecraft.game.GameProc;
7 import ru.deadsoftware.cavecraft.game.GameSaver;
8 import ru.deadsoftware.cavecraft.menu.MenuRenderer;
9 import ru.deadsoftware.cavecraft.misc.*;
10
11 public class GameScreen implements Screen {
12
13 public static int FPS;
14 public static boolean SHOW_DEBUG = false;
15
16 private GameProc gp;
17 private Renderer renderer;
18 private MenuRenderer menuRenderer;
19
20 public GameScreen() {
21 Assets.load();
22 GameItems.load();
23 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
24 renderer = menuRenderer;
25 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
26 }
27
28 public static int getWidth() {
29 return Gdx.graphics.getWidth();
30 }
31
32 public static int getHeight() {
33 return Gdx.graphics.getHeight();
34 }
35
36 private void game(float delta) {
37 gp.update(delta);
38 }
39
40 private void menu() {
41 }
42
43 @Override
44 public void show() {
45 }
46
47 @Override
48 public void render(float delta) {
49 FPS = (int) (1 / delta);
50 switch (CaveGame.STATE) {
51 case GAME_PLAY:
52 case GAME_CREATIVE_INV:
53 game(delta);
54 break;
55
56 case MENU_MAIN:
57 menu();
58 break;
59
60 case NEW_GAME:
61 gp = new GameProc();
62 renderer = gp.renderer;
63 Gdx.input.setInputProcessor(new InputHandlerGame(gp));
64 CaveGame.STATE = AppState.GAME_PLAY;
65 break;
66
67 case LOAD_GAME:
68 gp = GameSaver.load();
69 renderer = gp.renderer;
70 Gdx.input.setInputProcessor(new InputHandlerGame(gp));
71 CaveGame.STATE = AppState.GAME_PLAY;
72 break;
73
74 case SAVE_GAME:
75 GameSaver.save(gp);
76 CaveGame.STATE = AppState.MENU_MAIN;
77 break;
78
79 case GOTO_MENU:
80 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
81 renderer = menuRenderer;
82 Gdx.input.setInputProcessor(new InputHandlerMenu(menuRenderer));
83 break;
84 }
85 renderer.render();
86 }
87
88 @Override
89 public void resize(int width, int height) {
90 switch (CaveGame.STATE) {
91 case MENU_MAIN:
92 menuRenderer = new MenuRenderer(CaveGame.TOUCH ? 320 : 480);
93 renderer = menuRenderer;
94 break;
95 case GAME_PLAY:
96 case GAME_CREATIVE_INV:
97 gp.resetRenderer();
98 renderer = gp.renderer;
99 break;
100 }
101 }
102
103 @Override
104 public void pause() {
105
106 }
107
108 @Override
109 public void resume() {
110
111 }
112
113 @Override
114 public void hide() {
115
116 }
117
118 @Override
119 public void dispose() {
120
121 }
122
123 }