1 package ru
.deadsoftware
.cavedroid
.game
;
4 import dagger
.Provides
;
5 import ru
.deadsoftware
.cavedroid
.MainConfig
;
6 import ru
.deadsoftware
.cavedroid
.game
.mobs
.MobsController
;
7 import ru
.deadsoftware
.cavedroid
.game
.objects
.DropController
;
8 import ru
.deadsoftware
.cavedroid
.game
.world
.GameWorld
;
10 import javax
.annotation
.CheckForNull
;
13 public class GameModule
{
16 private static GameSaver
.Data data
;
18 public static void load(MainConfig mainConfig
) {
19 data
= GameSaver
.load(mainConfig
);
22 private static void makeDataNullIfEmpty() {
23 if (data
!= null && data
.isEmpty()) {
30 public static DropController
provideDropController() {
31 DropController controller
= data
!= null ? data
.retrieveDropController() : new DropController();
32 makeDataNullIfEmpty();
38 public static MobsController
provideMobsController() {
39 MobsController controller
= data
!= null ? data
.retrieveMobsController() : new MobsController();
40 makeDataNullIfEmpty();
46 public static GameWorld
provideGameWorld(DropController dropController
, MobsController mobsController
) {
47 int[][] fm
= data
!= null ? data
.retrieveForeMap() : null;
48 int[][] bm
= data
!= null ? data
.retrieveBackMap() : null;
49 makeDataNullIfEmpty();
50 return new GameWorld(dropController
, mobsController
, fm
, bm
);