1 package ru
.deadsoftware
.cavedroid
.game
.mobs
;
3 import com
.badlogic
.gdx
.Gdx
;
4 import ru
.deadsoftware
.cavedroid
.game
.GameScope
;
6 import javax
.inject
.Inject
;
7 import java
.io
.Serializable
;
8 import java
.util
.Iterator
;
9 import java
.util
.LinkedList
;
12 public class MobsController
implements Serializable
{
14 public interface Callback
{
18 private static final String TAG
= "MobsController";
20 private final Player mPlayer
;
21 private final LinkedList
<Mob
> mMobs
= new LinkedList
<>();
24 public MobsController() {
25 mPlayer
= new Player();
28 public Player
getPlayer() {
32 public void addMob(Class
<?
extends Mob
> mobClass
, float x
, float y
) {
34 mMobs
.add(mobClass
.getConstructor(float.class, float.class).newInstance(x
, y
));
35 } catch (Exception e
) {
36 Gdx
.app
.error(TAG
, e
.getMessage());
40 public int getSize() {
44 public void forEach(Callback callback
) {
45 mMobs
.forEach(callback
::run
);
48 public Iterator
<Mob
> getIterator() {
49 return mMobs
.iterator();