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
;
13 public class DropController
implements Serializable
{
15 public interface Callback
{
19 private final LinkedList
<Drop
> mDrops
= new LinkedList
<>();
22 public DropController() {
25 public void initDrops(GameItemsHolder gameItemsHolder
) {
26 mDrops
.forEach((drop
) -> drop
.initItem(gameItemsHolder
));
29 public void addDrop(float x
, float y
, Item item
) {
33 mDrops
.add(new Drop(x
, y
, item
));
36 public int getSize() {
40 public void forEach(Callback callback
) {
41 mDrops
.forEach(callback
::run
);
44 public Iterator
<Drop
> getIterator() {
45 return mDrops
.iterator();