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
;
9 import javax
.annotation
.CheckForNull
;
12 public class GameModule
{
15 private static GameSaver
.Data data
;
17 public static void load(MainConfig mainConfig
) {
18 data
= GameSaver
.load(mainConfig
);
21 private static void makeDataNullIfEmpty() {
22 if (data
!= null && data
.isEmpty()) {
29 public static DropController
provideDropController() {
30 DropController controller
= data
!= null ? data
.retrieveDropController() : new DropController();
31 makeDataNullIfEmpty();
37 public static MobsController
provideMobsController() {
38 MobsController controller
= data
!= null ? data
.retrieveMobsController() : new MobsController();
39 makeDataNullIfEmpty();
45 public static GameWorld
provideGameWorld(DropController dropController
, MobsController mobsController
) {
46 int[][] fm
= data
!= null ? data
.retrieveForeMap() : null;
47 int[][] bm
= data
!= null ? data
.retrieveBackMap() : null;
48 makeDataNullIfEmpty();
49 return new GameWorld(dropController
, mobsController
, fm
, bm
);