DEADSOFTWARE

Fix saves
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / objects / DropController.java
1 package ru.deadsoftware.cavedroid.game.objects;
3 import ru.deadsoftware.cavedroid.game.GameItemsHolder;
4 import ru.deadsoftware.cavedroid.game.GameScope;
5 import ru.deadsoftware.cavedroid.game.model.item.Item;
7 import javax.inject.Inject;
8 import java.io.Serializable;
9 import java.util.Iterator;
10 import java.util.LinkedList;
12 @GameScope
13 public class DropController implements Serializable {
15 public interface Callback {
16 void run(Drop drop);
17 }
19 private final LinkedList<Drop> mDrops = new LinkedList<>();
21 @Inject
22 public DropController() {
23 }
25 public void initDrops(GameItemsHolder gameItemsHolder) {
26 mDrops.forEach((drop) -> drop.initItem(gameItemsHolder));
27 }
29 public void addDrop(float x, float y, Item item) {
30 mDrops.add(new Drop(x, y, item));
31 }
33 public int getSize() {
34 return mDrops.size();
35 }
37 public void forEach(Callback callback) {
38 mDrops.forEach(callback::run);
39 }
41 public Iterator<Drop> getIterator() {
42 return mDrops.iterator();
43 }
45 }