DEADSOFTWARE

Update README
[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 GameItemsHolder mGameItemsHolder;
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 GameModule.loaded = true;
33 GameComponent gameComponent = DaggerGameComponent.builder()
34 .mainComponent(mMainConfig.getMainComponent()).build();
36 mGameProc = gameComponent.getGameProc();
38 mGameProc.setPlayerGameMode(gameMode);
39 }
41 public void loadGame() {
42 if (mGameProc != null) {
43 mGameProc.dispose();
44 }
46 GameModule.loaded = false;
48 GameComponent gameComponent = DaggerGameComponent.builder()
49 .mainComponent(mMainConfig.getMainComponent()).build();
51 mGameProc = gameComponent.getGameProc();
52 }
54 @Override
55 public void render(float delta) {
56 mGameProc.update(delta);
57 }
59 @Override
60 public void show() {
61 // Gdx.input.setInputProcessor(mGameInputProcessor);
62 mGameProc.show();
63 }
65 @Override
66 public void resize(int width, int height) {
68 }
70 @Override
71 public void pause() {
73 }
75 @Override
76 public void resume() {
78 }
80 @Override
81 public void hide() {
83 }
85 @Override
86 public void dispose() {
87 if (mGameProc != null) {
88 mGameProc.dispose();
89 }
90 }
92 }