DEADSOFTWARE

MainComponent in kotlin
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / GameModule.java
index d57ab337e9e49c0cbc872ee037cb42b407908d24..6c71d78c4fe7441f8ab3df12617ca2f013bf8019 100644 (file)
@@ -2,29 +2,30 @@ package ru.deadsoftware.cavedroid.game;
 
 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.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 javax.annotation.CheckForNull;
-
 @Module
 public class GameModule {
 
-    @CheckForNull
-    private static GameSaver.Data data;
+    @Nullable
+    private static GameSaveData data;
 
     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;
         }
-        data = GameSaver.load(mainConfig, gameItemsHolder);
+        data = GameSaveLoader.INSTANCE.load(mainConfig, gameItemsHolder, tooltipManager);
         loaded = true;
     }
 
@@ -36,8 +37,10 @@ public class GameModule {
 
     @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);
@@ -46,9 +49,14 @@ public class GameModule {
 
     @Provides
     @GameScope
-    public static ContainerController provideFurnaceController(MainConfig mainConfig, DropController dropController, GameItemsHolder gameItemsHolder) {
-        load(mainConfig, gameItemsHolder);
-        ContainerController controller = data != null ? data.retrieveFurnaceController() : new ContainerController(dropController, gameItemsHolder);
+    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();
         controller.init(dropController, gameItemsHolder);
         return controller;
@@ -59,7 +67,7 @@ public class GameModule {
     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);
@@ -74,8 +82,9 @@ public class GameModule {
                                              DropController dropController,
                                              MobsController mobsController,
                                              GameItemsHolder gameItemsHolder,
-                                             ContainerController containerController) {
-        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();