X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2FGameScreen.java;h=749d7d4055beeee9964e8f52cb7466188b093a1e;hb=969518fd0bbde98b81c885c62f973d74ff5f61bb;hp=00cfd3e6502b57c0be039514f0f25870f639d2f6;hpb=f4d52e3e4a3712050532786fca0aded5ff8b5a03;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java b/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java index 00cfd3e..749d7d4 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java +++ b/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java @@ -4,29 +4,51 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; import ru.deadsoftware.cavedroid.MainConfig; +import javax.annotation.CheckForNull; import javax.inject.Inject; import javax.inject.Singleton; @Singleton public class GameScreen implements Screen { - private static final String TAG = "GameScreen"; - private final MainConfig mMainConfig; + @CheckForNull private GameProc mGameProc; + @CheckForNull + private GameItemsHolder mGameItemsHolder; @Inject public GameScreen(MainConfig mainConfig) { mMainConfig = mainConfig; - newGame(); } - public void newGame() { + public void newGame(int gameMode) { + if (mGameProc != null) { + mGameProc.dispose(); + } + + GameModule.loaded = true; + + GameComponent gameComponent = DaggerGameComponent.builder() + .mainComponent(mMainConfig.getMainComponent()).build(); + + mGameProc = gameComponent.getGameProc(); + + mGameProc.setPlayerGameMode(gameMode); + } + + public void loadGame() { + if (mGameProc != null) { + mGameProc.dispose(); + } + + GameModule.loaded = false; + GameComponent gameComponent = DaggerGameComponent.builder() .mainComponent(mMainConfig.getMainComponent()).build(); + mGameProc = gameComponent.getGameProc(); - Gdx.input.setInputProcessor(gameComponent.getGameInputProcessor()); } @Override @@ -36,7 +58,8 @@ public class GameScreen implements Screen { @Override public void show() { - +// Gdx.input.setInputProcessor(mGameInputProcessor); + mGameProc.show(); } @Override @@ -61,6 +84,9 @@ public class GameScreen implements Screen { @Override public void dispose() { + if (mGameProc != null) { + mGameProc.dispose(); + } } }