diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameProc.java b/core/src/ru/deadsoftware/cavedroid/game/GameProc.java
index 3a2244052b1c8b1353ea104751570aea671fe055..29062a44a07d24deff2efcefa40a2ec542a8978a 100644 (file)
package ru.deadsoftware.cavedroid.game;
+import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Disposable;
import com.badlogic.gdx.utils.Timer;
+import ru.deadsoftware.cavedroid.MainConfig;
import ru.deadsoftware.cavedroid.game.mobs.MobsController;
+import ru.deadsoftware.cavedroid.game.mobs.player.Player;
+import ru.deadsoftware.cavedroid.game.objects.container.ContainerController;
import ru.deadsoftware.cavedroid.game.world.GameWorldBlocksLogicControllerTask;
import ru.deadsoftware.cavedroid.game.world.GameWorldFluidsLogicControllerTask;
-import ru.deadsoftware.cavedroid.misc.utils.AssetLoader;
+import ru.deadsoftware.cavedroid.game.world.GameWorldMobDamageControllerTask;
import javax.inject.Inject;
@GameScope
public class GameProc implements Disposable {
- public static final int MAX_CREATIVE_SCROLL = GameItems.getItemsSize() / 8;
-
private final GamePhysics mGamePhysics;
- private final GameInput mGameInput;
private final GameRenderer mGameRenderer;
private final MobsController mMobsController;
+ private final ContainerController mContainerController;
+ private final GameItemsHolder mGameItemsHolder;
private final GameWorldFluidsLogicControllerTask mGameWorldFluidsLogicControllerTask;
private final GameWorldBlocksLogicControllerTask mGameWorldBlocksLogicControllerTask;
- private final GameItemsHolder mGameItemsHolder;
+ private final GameWorldMobDamageControllerTask mGameWorldMobDamageControllerTask;
private final Timer mWorldLogicTimer = new Timer();
@Inject
- public GameProc(GamePhysics gamePhysics,
- GameInput gameInput,
+ public GameProc(MainConfig mainConfig,
+ GamePhysics gamePhysics,
GameRenderer gameRenderer,
MobsController mobsController,
+ ContainerController containerController,
+ GameItemsHolder gameItemsHolder,
GameWorldFluidsLogicControllerTask gameWorldFluidsLogicControllerTask,
GameWorldBlocksLogicControllerTask gameWorldBlocksLogicControllerTask,
- GameItemsHolder gameItemsHolder,
- AssetLoader assetLoader
+ GameWorldMobDamageControllerTask gameWorldMobDamageControllerTask
) {
mGamePhysics = gamePhysics;
- mGameInput = gameInput;
mGameRenderer = gameRenderer;
mMobsController = mobsController;
+ mContainerController = containerController;
+ mGameItemsHolder = gameItemsHolder;
mGameWorldFluidsLogicControllerTask = gameWorldFluidsLogicControllerTask;
mGameWorldBlocksLogicControllerTask = gameWorldBlocksLogicControllerTask;
- mGameItemsHolder = gameItemsHolder;
+ mGameWorldMobDamageControllerTask = gameWorldMobDamageControllerTask;
- mGameItemsHolder.initialize();
+ mobsController.getPlayer().controlMode = mainConfig.isTouch() ? Player.ControlMode.WALK : Player.ControlMode.CURSOR;
mWorldLogicTimer.scheduleTask(gameWorldFluidsLogicControllerTask, 0,
GameWorldFluidsLogicControllerTask.FLUID_UPDATE_INTERVAL_SEC);
mWorldLogicTimer.scheduleTask(gameWorldBlocksLogicControllerTask, 0,
GameWorldBlocksLogicControllerTask.WORLD_BLOCKS_LOGIC_UPDATE_INTERVAL_SEC);
+ mWorldLogicTimer.scheduleTask(gameWorldMobDamageControllerTask, 0,
+ GameWorldMobDamageControllerTask.ENVIRONMENTAL_MOB_DAMAGE_INTERVAL_SEC);
}
public void setPlayerGameMode(int gameMode) {
public void update(float delta) {
mGamePhysics.update(delta);
- mGameInput.update();
mGameRenderer.render(delta);
+ mContainerController.update();
+ }
+
+ public void show() {
+ Gdx.input.setInputProcessor(mGameRenderer);
}
@Override
mWorldLogicTimer.stop();
mGameWorldFluidsLogicControllerTask.cancel();
mGameWorldBlocksLogicControllerTask.cancel();
+ mGameWorldMobDamageControllerTask.cancel();
}
}