X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2FGameScreen.java;h=d7546e98ad60758261240dfbd661425e92f90bc6;hb=3a443514027417133d7a7e18766720dfea028a87;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..d7546e9 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java +++ b/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java @@ -1,7 +1,7 @@ package ru.deadsoftware.cavedroid.game; -import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; +import org.jetbrains.annotations.Nullable; import ru.deadsoftware.cavedroid.MainConfig; import javax.inject.Inject; @@ -10,23 +10,44 @@ import javax.inject.Singleton; @Singleton public class GameScreen implements Screen { - private static final String TAG = "GameScreen"; - private final MainConfig mMainConfig; + @Nullable private GameProc mGameProc; + @Nullable + 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 +57,8 @@ public class GameScreen implements Screen { @Override public void show() { - +// Gdx.input.setInputProcessor(mGameInputProcessor); + mGameProc.show(); } @Override @@ -61,6 +83,9 @@ public class GameScreen implements Screen { @Override public void dispose() { + if (mGameProc != null) { + mGameProc.dispose(); + } } }