diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameSaver.java b/core/src/ru/deadsoftware/cavedroid/game/GameSaver.java
index cb52b3c76b126812e355c43d9ce076c7d5749140..39d227844ac1badb1d7898e28490d37019535e70 100644 (file)
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.DropController;
+import ru.deadsoftware.cavedroid.game.objects.drop.DropController;
+import ru.deadsoftware.cavedroid.game.objects.container.ContainerController;
import ru.deadsoftware.cavedroid.game.world.GameWorld;
import javax.annotation.CheckForNull;
@CheckForNull
private DropController mDropController;
@CheckForNull
+ private ContainerController mContainerController;
+ @CheckForNull
private Block[][] mForeMap, mBackMap;
- public Data(MobsController mobsController, DropController dropController, Block[][] foreMap, Block[][] backMap) {
+ public Data(MobsController mobsController,
+ DropController dropController,
+ ContainerController containerController,
+ Block[][] foreMap,
+ Block[][] backMap) {
mMobsController = mobsController;
mDropController = dropController;
+ mContainerController = containerController;
mForeMap = foreMap;
mBackMap = backMap;
}
return dropController;
}
+ public ContainerController retrieveFurnaceController() {
+ assert mContainerController != null;
+ ContainerController containerController = mContainerController;
+ mContainerController = null;
+ return containerController;
+ }
+
public Block[][] retrieveForeMap() {
assert mForeMap != null;
Block[][] foreMap = mForeMap;
}
public boolean isEmpty() {
- return mMobsController == null && mDropController == null && mForeMap == null && mBackMap == null;
+ return mMobsController == null &&
+ mDropController == null &&
+ mContainerController == null &&
+ mForeMap == null &&
+ mBackMap == null;
}
}
int version = in.readInt();
DropController dropController;
MobsController mobsController;
+ ContainerController containerController;
if (SAVE_VERSION == version) {
dropController = (DropController) in.readObject();
mobsController = (MobsController) in.readObject();
+ containerController = (ContainerController) in.readObject();
} else {
throw new Exception("version mismatch");
}
throw new Exception("couldn't load");
}
- return new Data(mobsController, dropController, foreMap, backMap);
+ return new Data(mobsController, dropController, containerController, foreMap, backMap);
} catch (Exception e) {
Gdx.app.error("GameSaver", e.getMessage());
}
public static void save(MainConfig mainConfig,
DropController dropController,
MobsController mobsController,
+ ContainerController containerController,
GameWorld gameWorld) {
String folder = mainConfig.getGameFolder();
FileHandle file = Gdx.files.absolute(folder + "/saves/");
out.writeInt(SAVE_VERSION);
out.writeObject(dropController);
out.writeObject(mobsController);
+ out.writeObject(containerController);
out.close();
saveDict(Gdx.files.absolute(folder + "/saves/dict"), dict);