DEADSOFTWARE

Add crippled survival
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / GameProc.java
index ef0821107a4e520b0d56e4c21d145e9203549992..f063f7a19a856c1f0d4b06e28f924f14574ced22 100644 (file)
@@ -1,9 +1,13 @@
 package ru.deadsoftware.cavedroid.game;
 
+import com.badlogic.gdx.utils.Disposable;
+import ru.deadsoftware.cavedroid.game.mobs.MobsController;
+import ru.deadsoftware.cavedroid.game.world.GameWorld;
+
 import javax.inject.Inject;
 
 @GameScope
-public class GameProc {
+public class GameProc implements Disposable {
 
     public static final int MAX_CREATIVE_SCROLL = GameItems.getItemsSize() / 8;
 
@@ -11,25 +15,35 @@ public class GameProc {
     private final GamePhysics mGamePhysics;
     private final GameInput mGameInput;
     private final GameRenderer mGameRenderer;
+    private final MobsController mMobsController;
 
     @Inject
     public GameProc(GameWorld gameWorld,
                     GamePhysics gamePhysics,
                     GameInput gameInput,
-                    GameRenderer gameRenderer) {
+                    GameRenderer gameRenderer,
+                    MobsController mobsController
+    ) {
         mGameWorld = gameWorld;
         mGamePhysics = gamePhysics;
         mGameInput = gameInput;
         mGameRenderer = gameRenderer;
+        mMobsController = mobsController;
+    }
 
-        mGameWorld.startFluidsThread();
+    public void setPlayerGameMode(int gameMode) {
+        mMobsController.getPlayer().gameMode = gameMode;
     }
 
     public void update(float delta) {
-        mGamePhysics.update();
+        mGamePhysics.update(delta);
         mGameInput.update();
         mGameWorld.update();
         mGameRenderer.render(delta);
     }
 
+    @Override
+    public void dispose() {
+        mGameWorld.dispose();
+    }
 }