diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameModule.java b/core/src/ru/deadsoftware/cavedroid/game/GameModule.java
index 2385230df15533a680a84a871a487f0e71642cf6..6c71d78c4fe7441f8ab3df12617ca2f013bf8019 100644 (file)
import dagger.Module;
import dagger.Provides;
import dagger.Module;
import dagger.Provides;
+import org.jetbrains.annotations.Nullable;
import ru.deadsoftware.cavedroid.MainConfig;
import ru.deadsoftware.cavedroid.game.mobs.MobsController;
import ru.deadsoftware.cavedroid.game.model.block.Block;
import ru.deadsoftware.cavedroid.game.objects.drop.DropController;
import ru.deadsoftware.cavedroid.MainConfig;
import ru.deadsoftware.cavedroid.game.mobs.MobsController;
import ru.deadsoftware.cavedroid.game.model.block.Block;
import ru.deadsoftware.cavedroid.game.objects.drop.DropController;
-import ru.deadsoftware.cavedroid.game.objects.furnace.FurnaceController;
+import ru.deadsoftware.cavedroid.game.objects.container.ContainerController;
+import ru.deadsoftware.cavedroid.game.save.GameSaveData;
+import ru.deadsoftware.cavedroid.game.save.GameSaveLoader;
import ru.deadsoftware.cavedroid.game.ui.TooltipManager;
import ru.deadsoftware.cavedroid.game.world.GameWorld;
import ru.deadsoftware.cavedroid.game.ui.TooltipManager;
import ru.deadsoftware.cavedroid.game.world.GameWorld;
-import javax.annotation.CheckForNull;
-
@Module
public class GameModule {
@Module
public class GameModule {
- @CheckForNull
- private static GameSaver.Data data;
+ @Nullable
+ private static GameSaveData data;
public static boolean loaded = false;
public static boolean loaded = false;
- private static void load(MainConfig mainConfig, GameItemsHolder gameItemsHolder) {
+ private static void load(MainConfig mainConfig, GameItemsHolder gameItemsHolder, TooltipManager tooltipManager) {
if (loaded) {
return;
}
if (loaded) {
return;
}
- data = GameSaver.load(mainConfig, gameItemsHolder);
+ data = GameSaveLoader.INSTANCE.load(mainConfig, gameItemsHolder, tooltipManager);
loaded = true;
}
loaded = true;
}
@Provides
@GameScope
@Provides
@GameScope
- public static DropController provideDropController(MainConfig mainConfig, GameItemsHolder gameItemsHolder) {
- load(mainConfig, gameItemsHolder);
+ public static DropController provideDropController(MainConfig mainConfig,
+ GameItemsHolder gameItemsHolder,
+ TooltipManager tooltipManager) {
+ load(mainConfig, gameItemsHolder, tooltipManager);
DropController controller = data != null ? data.retrieveDropController() : new DropController();
makeDataNullIfEmpty();
controller.initDrops(gameItemsHolder);
DropController controller = data != null ? data.retrieveDropController() : new DropController();
makeDataNullIfEmpty();
controller.initDrops(gameItemsHolder);
@Provides
@GameScope
@Provides
@GameScope
- public static FurnaceController provideFurnaceController(MainConfig mainConfig, GameItemsHolder gameItemsHolder) {
- load(mainConfig, gameItemsHolder);
- FurnaceController controller = data != null ? data.retrueveFurnaceController() : new FurnaceController();
+ public static ContainerController provideFurnaceController(MainConfig mainConfig,
+ DropController dropController,
+ GameItemsHolder gameItemsHolder,
+ TooltipManager tooltipManager) {
+ load(mainConfig, gameItemsHolder, tooltipManager);
+ ContainerController controller = data != null
+ ? data.retrieveContainerController()
+ : new ContainerController(dropController, gameItemsHolder);
makeDataNullIfEmpty();
makeDataNullIfEmpty();
- controller.init(gameItemsHolder);
+ controller.init(dropController, gameItemsHolder);
return controller;
}
return controller;
}
public static MobsController provideMobsController(MainConfig mainConfig,
GameItemsHolder gameItemsHolder,
TooltipManager tooltipManager) {
public static MobsController provideMobsController(MainConfig mainConfig,
GameItemsHolder gameItemsHolder,
TooltipManager tooltipManager) {
- load(mainConfig, gameItemsHolder);
+ load(mainConfig, gameItemsHolder, tooltipManager);
MobsController controller = data != null
? data.retrieveMobsController()
: new MobsController(gameItemsHolder, tooltipManager);
MobsController controller = data != null
? data.retrieveMobsController()
: new MobsController(gameItemsHolder, tooltipManager);
DropController dropController,
MobsController mobsController,
GameItemsHolder gameItemsHolder,
DropController dropController,
MobsController mobsController,
GameItemsHolder gameItemsHolder,
- FurnaceController furnaceController) {
- load(mainConfig, gameItemsHolder);
+ ContainerController containerController,
+ TooltipManager tooltipManager) {
+ load(mainConfig, gameItemsHolder, tooltipManager);
Block[][] fm = data != null ? data.retrieveForeMap() : null;
Block[][] bm = data != null ? data.retrieveBackMap() : null;
makeDataNullIfEmpty();
Block[][] fm = data != null ? data.retrieveForeMap() : null;
Block[][] bm = data != null ? data.retrieveBackMap() : null;
makeDataNullIfEmpty();
- return new GameWorld(dropController, mobsController, gameItemsHolder, furnaceController, fm, bm);
+ return new GameWorld(dropController, mobsController, gameItemsHolder, containerController, fm, bm);
}
}
}
}