DEADSOFTWARE

MainComponent in kotlin
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / GameScreen.java
index 4a7d6131f87cd78dce442950e25e9babf840a79e..d7546e98ad60758261240dfbd661425e92f90bc6 100644 (file)
@@ -1,10 +1,9 @@
 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.annotation.CheckForNull;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 
@@ -13,28 +12,29 @@ public class GameScreen implements Screen {
 
     private final MainConfig mMainConfig;
 
-    @CheckForNull
+    @Nullable
     private GameProc mGameProc;
-    @CheckForNull
-    private GameInputProcessor mGameInputProcessor;
+    @Nullable
+    private GameItemsHolder mGameItemsHolder;
 
     @Inject
     public GameScreen(MainConfig mainConfig) {
         mMainConfig = mainConfig;
     }
 
-    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();
-        mGameInputProcessor = gameComponent.getGameInputProcessor();
 
-        Gdx.input.setInputProcessor(gameComponent.getGameInputProcessor());
+        mGameProc.setPlayerGameMode(gameMode);
     }
 
     public void loadGame() {
@@ -42,15 +42,12 @@ public class GameScreen implements Screen {
             mGameProc.dispose();
         }
 
-        GameModule.load(mMainConfig);
+        GameModule.loaded = false;
 
         GameComponent gameComponent = DaggerGameComponent.builder()
                 .mainComponent(mMainConfig.getMainComponent()).build();
 
         mGameProc = gameComponent.getGameProc();
-        mGameInputProcessor = gameComponent.getGameInputProcessor();
-
-        Gdx.input.setInputProcessor(gameComponent.getGameInputProcessor());
     }
 
     @Override
@@ -60,7 +57,8 @@ public class GameScreen implements Screen {
 
     @Override
     public void show() {
-        Gdx.input.setInputProcessor(mGameInputProcessor);
+//        Gdx.input.setInputProcessor(mGameInputProcessor);
+        mGameProc.show();
     }
 
     @Override