DEADSOFTWARE

Fix game loading
authorfredboy <fredboy@protonmail.com>
Sat, 16 Nov 2024 17:35:03 +0000 (00:35 +0700)
committerfredboy <fredboy@protonmail.com>
Sat, 16 Nov 2024 17:35:03 +0000 (00:35 +0700)
core/data/save/src/main/kotlin/ru/fredboy/cavedroid/data/save/mapper/ContainerControllerMapper.kt
core/data/save/src/main/kotlin/ru/fredboy/cavedroid/data/save/mapper/DropControllerMapper.kt
core/data/save/src/main/kotlin/ru/fredboy/cavedroid/data/save/mapper/MobControllerMapper.kt
core/data/save/src/main/kotlin/ru/fredboy/cavedroid/data/save/repository/SaveDataRepositoryImpl.kt
core/domain/save/build.gradle.kts
core/domain/save/src/main/kotlin/ru/fredboy/cavedroid/domain/save/model/GameMapSaveData.kt [new file with mode: 0644]
core/domain/save/src/main/kotlin/ru/fredboy/cavedroid/domain/save/model/GameSaveData.kt
core/domain/save/src/main/kotlin/ru/fredboy/cavedroid/domain/save/repository/SaveDataRepository.kt
core/src/main/java/ru/deadsoftware/cavedroid/game/GameModule.java
core/src/main/java/ru/deadsoftware/cavedroid/game/GameScreen.java

index d30ec79cdd506b87d028aab7769a28048342f962..b9dd15cd4c86ab4b338c120daf90e685538e3cfb 100644 (file)
@@ -3,9 +3,12 @@ package ru.fredboy.cavedroid.data.save.mapper
 import dagger.Reusable
 import ru.fredboy.cavedroid.data.save.model.SaveDataDto
 import ru.fredboy.cavedroid.domain.items.usecase.GetItemByKeyUseCase
+import ru.fredboy.cavedroid.entity.container.abstraction.ContainerFactory
+import ru.fredboy.cavedroid.entity.container.abstraction.ContainerWorldAdapter
 import ru.fredboy.cavedroid.entity.container.model.Chest
 import ru.fredboy.cavedroid.entity.container.model.ContainerCoordinates
 import ru.fredboy.cavedroid.entity.container.model.Furnace
+import ru.fredboy.cavedroid.entity.drop.abstraction.DropAdapter
 import ru.fredboy.cavedroid.game.controller.container.ContainerController
 import javax.inject.Inject
 
@@ -29,14 +32,19 @@ class ContainerControllerMapper @Inject constructor(
         )
     }
 
-    fun mapContainerController(saveDataDto: SaveDataDto.ContainerControllerSaveDataDto): ContainerController {
+    fun mapContainerController(
+        saveDataDto: SaveDataDto.ContainerControllerSaveDataDto,
+        containerWorldAdapter: ContainerWorldAdapter,
+        containerFactory: ContainerFactory,
+        dropAdapter: DropAdapter,
+    ): ContainerController {
         saveDataDto.verifyVersion(SAVE_DATA_VERSION)
 
         return ContainerController(
             getItemByKeyUseCase = getItemByKeyUseCase,
-            containerWorldAdapter = TODO("containerWorldAdapter"),
-            containerFactory = TODO("ContainerFactory"),
-            dropAdapter = TODO("DropAdapter")
+            containerWorldAdapter = containerWorldAdapter,
+            containerFactory = containerFactory,
+            dropAdapter = dropAdapter
         ).apply {
             saveDataDto.containerMap.forEach { (key, value) ->
                 val container = when (value) {
index 200e9e65042e2b7f5654bb831fcfa2c5ee52f503..e6a51251ed8a508e7e05b4bbaa718e3eb816d784 100644 (file)
@@ -3,6 +3,7 @@ package ru.fredboy.cavedroid.data.save.mapper
 import dagger.Reusable
 import ru.fredboy.cavedroid.data.save.model.SaveDataDto
 import ru.fredboy.cavedroid.domain.items.repository.ItemsRepository
+import ru.fredboy.cavedroid.entity.drop.abstraction.DropWorldAdapter
 import ru.fredboy.cavedroid.game.controller.drop.DropController
 import javax.inject.Inject
 
@@ -19,12 +20,15 @@ class DropControllerMapper @Inject constructor(
         )
     }
 
-    fun mapDropController(saveDataDto: SaveDataDto.DropControllerSaveDataDto): DropController {
+    fun mapDropController(
+        saveDataDto: SaveDataDto.DropControllerSaveDataDto,
+        dropWorldAdapter: DropWorldAdapter,
+    ): DropController {
         saveDataDto.verifyVersion(SAVE_DATA_VERSION)
 
         return DropController(
             initialDrop = saveDataDto.drops.map(dropMapper::mapDrop),
-            dropWorldAdapter = TODO("dropWorldAdapter"),
+            dropWorldAdapter = dropWorldAdapter,
             itemsRepository = itemsRepository,
         )
     }
index e7661899c03ad7c2865d0d08994e9bcecbbdfd08..4f838f3ecb8cfafcd6b033b2478b1567c574b44e 100644 (file)
@@ -4,6 +4,7 @@ import dagger.Reusable
 import ru.fredboy.cavedroid.data.save.model.SaveDataDto
 import ru.fredboy.cavedroid.domain.assets.repository.MobAssetsRepository
 import ru.fredboy.cavedroid.domain.items.usecase.GetFallbackItemUseCase
+import ru.fredboy.cavedroid.entity.mob.abstraction.MobWorldAdapter
 import ru.fredboy.cavedroid.entity.mob.model.FallingBlock
 import ru.fredboy.cavedroid.entity.mob.model.Pig
 import ru.fredboy.cavedroid.game.controller.mob.MobController
@@ -32,13 +33,16 @@ class MobControllerMapper @Inject constructor(
         )
     }
 
-    fun mapMobController(saveDataDto: SaveDataDto.MobControllerSaveDataDto): MobController {
+    fun mapMobController(
+        saveDataDto: SaveDataDto.MobControllerSaveDataDto,
+        mobWorldAdapter: MobWorldAdapter,
+    ): MobController {
         saveDataDto.verifyVersion(SAVE_DATA_VERSION)
 
         return MobController(
             mobAssetsRepository = mobAssetsRepository,
             getFallbackItemUseCase = getFallbackItemUseCase,
-            mobWorldAdapter = TODO("mobWorldAdapter"),
+            mobWorldAdapter = mobWorldAdapter,
         ).apply {
             (mobs as MutableList).addAll(saveDataDto.mobs.mapNotNull { mob ->
                 when (mob) {
index 044cfe955856044ac35ec819aa9180ee308b29b5..426af589ae24123acfe82635dfc28dc591a72920 100644 (file)
@@ -11,8 +11,13 @@ import ru.fredboy.cavedroid.data.save.mapper.MobControllerMapper
 import ru.fredboy.cavedroid.data.save.model.SaveDataDto
 import ru.fredboy.cavedroid.domain.items.model.block.Block
 import ru.fredboy.cavedroid.domain.items.repository.ItemsRepository
-import ru.fredboy.cavedroid.domain.save.model.GameSaveData
+import ru.fredboy.cavedroid.domain.save.model.GameMapSaveData
 import ru.fredboy.cavedroid.domain.save.repository.SaveDataRepository
+import ru.fredboy.cavedroid.entity.container.abstraction.ContainerFactory
+import ru.fredboy.cavedroid.entity.container.abstraction.ContainerWorldAdapter
+import ru.fredboy.cavedroid.entity.drop.abstraction.DropAdapter
+import ru.fredboy.cavedroid.entity.drop.abstraction.DropWorldAdapter
+import ru.fredboy.cavedroid.entity.mob.abstraction.MobWorldAdapter
 import ru.fredboy.cavedroid.game.controller.container.ContainerController
 import ru.fredboy.cavedroid.game.controller.drop.DropController
 import ru.fredboy.cavedroid.game.controller.mob.MobController
@@ -73,8 +78,8 @@ internal class SaveDataRepositoryImpl @Inject constructor(
         val height = map[0].size
 
         val blocks = sequence {
-            for (y in 0 ..< height) {
-                for (x in 0 ..< width) {
+            for (y in 0..<height) {
+                for (x in 0..<width) {
                     yield(map[x][y])
                 }
             }
@@ -125,11 +130,11 @@ internal class SaveDataRepositoryImpl @Inject constructor(
         val height = ByteBuffer.wrap(bytes, 1 + Int.SIZE_BYTES, Int.SIZE_BYTES).getInt()
 
         val blocks = buildList {
-            for (i in 1 + (Int.SIZE_BYTES shl 1) .. bytes.lastIndex step Int.SIZE_BYTES + 1) {
+            for (i in 1 + (Int.SIZE_BYTES shl 1)..bytes.lastIndex step Int.SIZE_BYTES + 1) {
                 val run = ByteBuffer.wrap(bytes, i, Int.SIZE_BYTES).getInt()
                 val blockId = bytes[i + Int.SIZE_BYTES].toUByte().toInt()
 
-                for (j in 0 ..< run) {
+                for (j in 0..<run) {
                     add(itemsRepository.getBlockByKey(dict[blockId]))
                 }
             }
@@ -143,8 +148,7 @@ internal class SaveDataRepositoryImpl @Inject constructor(
     }
 
 
-    private fun loadMap(
-        itemsRepository: ItemsRepository,
+    private fun internalLoadMap(
         savesPath: String
     ): Pair<Array<Array<Block>>, Array<Array<Block>>> {
         val dict = Gdx.files.absolute("$savesPath$DICT_FILE").readString().split("\n")
@@ -200,7 +204,8 @@ internal class SaveDataRepositoryImpl @Inject constructor(
 
         val dropBytes = ProtoBuf.encodeToByteArray(dropControllerMapper.mapSaveData(dropController as DropController))
         val mobsBytes = ProtoBuf.encodeToByteArray(mobControllerMapper.mapSaveData(mobController as MobController))
-        val containersBytes = ProtoBuf.encodeToByteArray(containerControllerMapper.mapSaveData(containerController as ContainerController))
+        val containersBytes =
+            ProtoBuf.encodeToByteArray(containerControllerMapper.mapSaveData(containerController as ContainerController))
 
         dropFile.writeBytes(dropBytes, false)
         mobsFile.writeBytes(mobsBytes, false)
@@ -209,38 +214,63 @@ internal class SaveDataRepositoryImpl @Inject constructor(
         saveMap(gameWorld, savesPath)
     }
 
-    override fun load(gameDataFolder: String): GameSaveData {
+    override fun loadMap(gameDataFolder: String): GameMapSaveData {
         val savesPath = "$gameDataFolder$SAVES_DIR"
+        val (foreMap, backMap) = internalLoadMap(savesPath)
+        return GameMapSaveData(foreMap, backMap)
+    }
 
-        val dropFile = Gdx.files.absolute("$savesPath$DROP_FILE")
-        val mobsFile = Gdx.files.absolute("$savesPath$MOBS_FILE")
+    override fun loadContainerController(
+        gameDataFolder: String,
+        containerWorldAdapter: ContainerWorldAdapter,
+        containerFactory: ContainerFactory,
+        dropAdapter: DropAdapter
+    ): ContainerController {
+        val savesPath = "$gameDataFolder$SAVES_DIR"
         val containersFile = Gdx.files.absolute("$savesPath$CONTAINERS_FILE")
+        val containersBytes = containersFile.readBytes()
 
+        return ProtoBuf.decodeFromByteArray<SaveDataDto.ContainerControllerSaveDataDto>(
+            containersBytes
+        ).let { saveData ->
+            containerControllerMapper.mapContainerController(
+                saveDataDto = saveData,
+                containerWorldAdapter = containerWorldAdapter,
+                containerFactory = containerFactory,
+                dropAdapter = dropAdapter
+            )
+        }
+    }
+
+    override fun loadDropController(gameDataFolder: String, dropWorldAdapter: DropWorldAdapter): DropController {
+        val savesPath = "$gameDataFolder$SAVES_DIR"
+        val dropFile = Gdx.files.absolute("$savesPath$DROP_FILE")
         val dropBytes = dropFile.readBytes()
-        val mobsBytes = mobsFile.readBytes()
-        val containersBytes = containersFile.readBytes()
 
-        val dropController = ProtoBuf.decodeFromByteArray<SaveDataDto.DropControllerSaveDataDto>(dropBytes)
+        return ProtoBuf.decodeFromByteArray<SaveDataDto.DropControllerSaveDataDto>(dropBytes)
             .let { saveData ->
-                dropControllerMapper.mapDropController(saveData)
+                dropControllerMapper.mapDropController(
+                    saveDataDto = saveData,
+                    dropWorldAdapter = dropWorldAdapter
+                )
             }
+    }
 
-        val mobController = ProtoBuf.decodeFromByteArray<SaveDataDto.MobControllerSaveDataDto>(mobsBytes)
-            .let { saveData ->
-                mobControllerMapper.mapMobController(saveData)
-            }
+    override fun loadMobController(gameDataFolder: String, mobWorldAdapter: MobWorldAdapter): MobController {
+        val savesPath = "$gameDataFolder$SAVES_DIR"
+        val mobsFile = Gdx.files.absolute("$savesPath$MOBS_FILE")
+        val mobsBytes = mobsFile.readBytes()
 
-        val containerController = ProtoBuf.decodeFromByteArray<SaveDataDto.ContainerControllerSaveDataDto>(containersBytes)
+        return ProtoBuf.decodeFromByteArray<SaveDataDto.MobControllerSaveDataDto>(mobsBytes)
             .let { saveData ->
-                containerControllerMapper.mapContainerController(saveData)
+                mobControllerMapper.mapMobController(
+                    saveDataDto = saveData,
+                    mobWorldAdapter = mobWorldAdapter
+                )
             }
-
-        val (foreMap, backMap) = loadMap(itemsRepository, savesPath)
-
-        return GameSaveData(mobController, dropController, containerController, foreMap, backMap)
     }
 
-    override fun exists(gameDataFolder: String,): Boolean {
+    override fun exists(gameDataFolder: String): Boolean {
         val savesPath = "$gameDataFolder$SAVES_DIR"
 
         return Gdx.files.absolute("$savesPath$DROP_FILE").exists() &&
index 3dd07075afa9d5a359069f98f691bb047319003e..8ebc8cba8986c3d12fe97f2e3141abc7bd13246f 100644 (file)
@@ -15,6 +15,10 @@ dependencies {
     useModule(":core:domain:assets")
     useModule(":core:domain:world")
 
+    useModule(":core:entity:container")
+    useModule(":core:entity:drop")
+    useModule(":core:entity:mob")
+
     useModule(":core:game:controller:container")
     useModule(":core:game:controller:drop")
     useModule(":core:game:controller:mob")
diff --git a/core/domain/save/src/main/kotlin/ru/fredboy/cavedroid/domain/save/model/GameMapSaveData.kt b/core/domain/save/src/main/kotlin/ru/fredboy/cavedroid/domain/save/model/GameMapSaveData.kt
new file mode 100644 (file)
index 0000000..8da2201
--- /dev/null
@@ -0,0 +1,22 @@
+package ru.fredboy.cavedroid.domain.save.model
+
+import ru.fredboy.cavedroid.domain.items.model.block.Block
+
+class GameMapSaveData(
+    private var foreMap: Array<Array<Block>>?,
+    private var backMap: Array<Array<Block>>?
+) {
+    fun retrieveForeMap(): Array<Array<Block>> {
+        val value = requireNotNull(foreMap)
+        foreMap = null
+        return value
+    }
+
+    fun retrieveBackMap(): Array<Array<Block>> {
+        val value = requireNotNull(backMap)
+        backMap = null
+        return value
+    }
+
+    fun isEmpty() = foreMap == null && backMap == null
+}
index 109e90c046dbd966d417acef05749f0cd590f690..43ddc7510d54e796b316ac9f92b05238add260d4 100644 (file)
@@ -1,6 +1,5 @@
 package ru.fredboy.cavedroid.domain.save.model
 
-import ru.fredboy.cavedroid.domain.items.model.block.Block
 import ru.fredboy.cavedroid.game.controller.container.ContainerController
 import ru.fredboy.cavedroid.game.controller.drop.DropController
 import ru.fredboy.cavedroid.game.controller.mob.MobController
@@ -9,8 +8,6 @@ class GameSaveData(
     private var mobController: MobController?,
     private var dropController: DropController?,
     private var containerController: ContainerController?,
-    private var foreMap: Array<Array<Block>>?,
-    private var backMap: Array<Array<Block>>?
 ) {
 
     fun retrieveMobsController(): MobController {
@@ -31,25 +28,9 @@ class GameSaveData(
         return value
     }
 
-    fun retrieveForeMap(): Array<Array<Block>> {
-        val value = requireNotNull(foreMap)
-        foreMap = null
-        return value
-    }
-
-    fun retrieveBackMap(): Array<Array<Block>> {
-        val value = requireNotNull(backMap)
-        backMap = null
-        return value
-    }
-
     fun isEmpty(): Boolean {
         return mobController == null &&
                 dropController == null &&
-                containerController == null &&
-                foreMap == null &&
-                backMap == null
+                containerController == null
     }
-
-
 }
\ No newline at end of file
index 741df80c7415778c23c85cdd6c18a1631abcca16..be0dffa03ddc5939562bdbbae924f7cef079d69a 100644 (file)
@@ -1,6 +1,11 @@
 package ru.fredboy.cavedroid.domain.save.repository
 
-import ru.fredboy.cavedroid.domain.save.model.GameSaveData
+import ru.fredboy.cavedroid.domain.save.model.GameMapSaveData
+import ru.fredboy.cavedroid.entity.container.abstraction.ContainerFactory
+import ru.fredboy.cavedroid.entity.container.abstraction.ContainerWorldAdapter
+import ru.fredboy.cavedroid.entity.drop.abstraction.DropAdapter
+import ru.fredboy.cavedroid.entity.drop.abstraction.DropWorldAdapter
+import ru.fredboy.cavedroid.entity.mob.abstraction.MobWorldAdapter
 import ru.fredboy.cavedroid.game.controller.container.ContainerController
 import ru.fredboy.cavedroid.game.controller.drop.DropController
 import ru.fredboy.cavedroid.game.controller.mob.MobController
@@ -16,9 +21,26 @@ interface SaveDataRepository {
         gameWorld: GameWorld
     )
 
-    fun load(
+    fun loadMap(
+        gameDataFolder: String
+    ): GameMapSaveData
+
+    fun loadContainerController(
+        gameDataFolder: String,
+        containerWorldAdapter: ContainerWorldAdapter,
+        containerFactory: ContainerFactory,
+        dropAdapter: DropAdapter,
+    ): ContainerController
+
+    fun loadDropController(
+        gameDataFolder: String,
+        dropWorldAdapter: DropWorldAdapter,
+    ): DropController
+
+    fun loadMobController(
         gameDataFolder: String,
-    ): GameSaveData
+        mobWorldAdapter: MobWorldAdapter,
+    ): MobController
 
     fun exists(gameDataFolder: String): Boolean
 
index c83dee2fb7a8c39fd65910129d4f30e618b5f7fa..cbcf45200810df222b495b7fb3a49d3793b0a34d 100644 (file)
@@ -2,7 +2,6 @@ package ru.deadsoftware.cavedroid.game;
 
 import dagger.Module;
 import dagger.Provides;
-import org.jetbrains.annotations.Nullable;
 import ru.deadsoftware.cavedroid.MainConfig;
 import ru.fredboy.cavedroid.common.di.GameScope;
 import ru.fredboy.cavedroid.domain.assets.repository.MobAssetsRepository;
@@ -10,53 +9,38 @@ import ru.fredboy.cavedroid.domain.items.model.block.Block;
 import ru.fredboy.cavedroid.domain.items.repository.ItemsRepository;
 import ru.fredboy.cavedroid.domain.items.usecase.GetFallbackItemUseCase;
 import ru.fredboy.cavedroid.domain.items.usecase.GetItemByKeyUseCase;
-import ru.fredboy.cavedroid.domain.save.model.GameSaveData;
+import ru.fredboy.cavedroid.domain.save.model.GameMapSaveData;
 import ru.fredboy.cavedroid.domain.save.repository.SaveDataRepository;
 import ru.fredboy.cavedroid.entity.container.abstraction.ContainerFactory;
 import ru.fredboy.cavedroid.entity.container.abstraction.ContainerWorldAdapter;
 import ru.fredboy.cavedroid.entity.drop.abstraction.DropAdapter;
 import ru.fredboy.cavedroid.entity.drop.abstraction.DropWorldAdapter;
+import ru.fredboy.cavedroid.entity.mob.abstraction.MobWorldAdapter;
 import ru.fredboy.cavedroid.game.controller.container.ContainerController;
 import ru.fredboy.cavedroid.game.controller.drop.DropController;
 import ru.fredboy.cavedroid.game.controller.mob.MobController;
-import ru.fredboy.cavedroid.entity.mob.abstraction.MobWorldAdapter;
 import ru.fredboy.cavedroid.game.world.GameWorld;
 
 @Module
 public class GameModule {
 
-    @Nullable
-    private static GameSaveData data;
-
-    public static boolean loaded = false;
-
-    private static void load(MainConfig mainConfig, SaveDataRepository saveDataRepository) {
-        if (loaded) {
-            return;
-        }
+    private static boolean needLoad = false;
 
-        data = saveDataRepository.load(mainConfig.getGameFolder());
-
-        loaded = true;
-    }
-
-    private static void makeDataNullIfEmpty() {
-        if (data != null && data.isEmpty()) {
-            data = null;
-        }
+    public static void setNeedLoad(final boolean needLoad) {
+        GameModule.needLoad = needLoad;
     }
 
     @Provides
     @GameScope
     public static DropController provideDropController(MainConfig mainConfig,
                                                        SaveDataRepository saveDataRepository,
-                                                       DropWorldAdapter dropWorldAdapter,
-                                                       ItemsRepository itemsRepository) {
-        load(mainConfig, saveDataRepository);
-        DropController controller = data != null
-                ? data.retrieveDropController()
+                                                       ItemsRepository itemsRepository,
+                                                       DropWorldAdapter dropWorldAdapter) {
+
+        DropController controller = needLoad
+                ? saveDataRepository.loadDropController(mainConfig.getGameFolder(), dropWorldAdapter)
                 : new DropController(itemsRepository, dropWorldAdapter);
-        makeDataNullIfEmpty();
+
         return controller;
     }
 
@@ -67,13 +51,11 @@ public class GameModule {
                                                                GetItemByKeyUseCase getItemByKeyUseCase,
                                                                ContainerWorldAdapter containerWorldAdapter,
                                                                ContainerFactory containerFactory,
-                                                               DropAdapter dropAdapter
-                                                               ) {
-        load(mainConfig, saveDataRepository);
-        ContainerController controller = data != null
-                ? data.retrieveContainerController()
+                                                               DropAdapter dropAdapter) {
+        ContainerController controller = needLoad
+                ? saveDataRepository.loadContainerController(mainConfig.getGameFolder(), containerWorldAdapter, containerFactory, dropAdapter)
                 : new ContainerController(getItemByKeyUseCase, containerWorldAdapter, containerFactory, dropAdapter);
-        makeDataNullIfEmpty();
+
         return controller;
     }
 
@@ -83,26 +65,24 @@ public class GameModule {
                                                       SaveDataRepository saveDataRepository,
                                                       MobAssetsRepository mobAssetsRepository,
                                                       GetFallbackItemUseCase getFallbackItemUseCase,
-                                                      MobWorldAdapter mobWorldAdapter
-    ) {
-        load(mainConfig, saveDataRepository);
-        MobController controller = data != null
-                ? data.retrieveMobsController()
+                                                      MobWorldAdapter mobWorldAdapter) {
+
+        return needLoad
+                ? saveDataRepository.loadMobController(mainConfig.getGameFolder(), mobWorldAdapter)
                 : new MobController(mobAssetsRepository, getFallbackItemUseCase, mobWorldAdapter);
-        makeDataNullIfEmpty();
-        return controller;
     }
 
     @Provides
     @GameScope
     public static GameWorld provideGameWorld(MainConfig mainConfig,
                                              SaveDataRepository saveDataRepository,
-                                             ItemsRepository itemsRepository
-                                             ) {
-        load(mainConfig, saveDataRepository);
-        Block[][] fm = data != null ? data.retrieveForeMap() : null;
-        Block[][] bm = data != null ? data.retrieveBackMap() : null;
-        makeDataNullIfEmpty();
+                                             ItemsRepository itemsRepository) {
+
+        final GameMapSaveData mapData = needLoad ? saveDataRepository.loadMap(mainConfig.getGameFolder()) : null;
+
+        Block[][] fm = mapData != null ? mapData.retrieveForeMap() : null;
+        Block[][] bm = mapData != null ? mapData.retrieveBackMap() : null;
+
         return new GameWorld(itemsRepository, fm, bm);
     }
 
index f6e658d668dce3a2d99efbc8673a0595ba2932f0..160c0b0cd271209cf2b1c9e6e41bf368b4fff1a9 100644 (file)
@@ -25,7 +25,7 @@ public class GameScreen implements Screen {
             mGameProc.dispose();
         }
 
-        GameModule.loaded = true;
+        GameModule.setNeedLoad(false);
 
         GameComponent gameComponent = DaggerGameComponent.builder()
                 .mainComponent(mMainConfig.getMainComponent()).build();
@@ -40,7 +40,7 @@ public class GameScreen implements Screen {
             mGameProc.dispose();
         }
 
-        GameModule.loaded = false;
+        GameModule.setNeedLoad(true);
 
         GameComponent gameComponent = DaggerGameComponent.builder()
                 .mainComponent(mMainConfig.getMainComponent()).build();