diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java b/core/src/ru/deadsoftware/cavedroid/game/GameScreen.java
index 00cfd3e6502b57c0be039514f0f25870f639d2f6..749d7d4055beeee9964e8f52cb7466188b093a1e 100644 (file)
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
@Override
public void show() {
-
+// Gdx.input.setInputProcessor(mGameInputProcessor);
+ mGameProc.show();
}
@Override
@Override
public void dispose() {
+ if (mGameProc != null) {
+ mGameProc.dispose();
+ }
}
}