DEADSOFTWARE

Fix saves
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / DropController.java
index c71a37ed04cab439136c9850da947fb7166ad40f..826fd6878fc950ed5911d95b9bdc5358a84d6ddc 100644 (file)
@@ -1,12 +1,16 @@
 package ru.deadsoftware.cavedroid.game.objects;
 
+import ru.deadsoftware.cavedroid.game.GameItemsHolder;
 import ru.deadsoftware.cavedroid.game.GameScope;
+import ru.deadsoftware.cavedroid.game.model.item.Item;
 
 import javax.inject.Inject;
+import java.io.Serializable;
+import java.util.Iterator;
 import java.util.LinkedList;
 
 @GameScope
-public class DropController {
+public class DropController implements Serializable {
 
     public interface Callback {
         void run(Drop drop);
@@ -18,8 +22,12 @@ public class DropController {
     public DropController() {
     }
 
-    public void addDrop(float x, float y, int id) {
-        mDrops.add(new Drop(x, y, id));
+    public void initDrops(GameItemsHolder gameItemsHolder) {
+        mDrops.forEach((drop) -> drop.initItem(gameItemsHolder));
+    }
+
+    public void addDrop(float x, float y, Item item) {
+        mDrops.add(new Drop(x, y, item));
     }
 
     public int getSize() {
@@ -30,4 +38,8 @@ public class DropController {
         mDrops.forEach(callback::run);
     }
 
+    public Iterator<Drop> getIterator() {
+        return mDrops.iterator();
+    }
+
 }