DEADSOFTWARE

Add crippled survival
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / GameScreen.java
1 package ru.deadsoftware.cavedroid.game;
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.Screen;
5 import ru.deadsoftware.cavedroid.MainConfig;
7 import javax.annotation.CheckForNull;
8 import javax.inject.Inject;
9 import javax.inject.Singleton;
11 @Singleton
12 public class GameScreen implements Screen {
14 private final MainConfig mMainConfig;
16 @CheckForNull
17 private GameProc mGameProc;
18 @CheckForNull
19 private GameInputProcessor mGameInputProcessor;
21 @Inject
22 public GameScreen(MainConfig mainConfig) {
23 mMainConfig = mainConfig;
24 }
26 public void newGame(int gameMode) {
27 if (mGameProc != null) {
28 mGameProc.dispose();
29 }
31 GameComponent gameComponent = DaggerGameComponent.builder()
32 .mainComponent(mMainConfig.getMainComponent()).build();
34 mGameProc = gameComponent.getGameProc();
35 mGameInputProcessor = gameComponent.getGameInputProcessor();
37 mGameProc.setPlayerGameMode(gameMode);
39 Gdx.input.setInputProcessor(gameComponent.getGameInputProcessor());
40 }
42 public void loadGame() {
43 if (mGameProc != null) {
44 mGameProc.dispose();
45 }
47 GameModule.load(mMainConfig);
49 GameComponent gameComponent = DaggerGameComponent.builder()
50 .mainComponent(mMainConfig.getMainComponent()).build();
52 mGameProc = gameComponent.getGameProc();
53 mGameInputProcessor = gameComponent.getGameInputProcessor();
55 Gdx.input.setInputProcessor(gameComponent.getGameInputProcessor());
56 }
58 @Override
59 public void render(float delta) {
60 mGameProc.update(delta);
61 }
63 @Override
64 public void show() {
65 Gdx.input.setInputProcessor(mGameInputProcessor);
66 }
68 @Override
69 public void resize(int width, int height) {
71 }
73 @Override
74 public void pause() {
76 }
78 @Override
79 public void resume() {
81 }
83 @Override
84 public void hide() {
86 }
88 @Override
89 public void dispose() {
90 if (mGameProc != null) {
91 mGameProc.dispose();
92 }
93 }
95 }