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
.util
.Iterator
;
8 import java
.util
.LinkedList
;
11 public class MobsController
{
13 public interface Callback
{
17 private static final String TAG
= "MobsController";
19 private final Player mPlayer
;
20 private final LinkedList
<Mob
> mMobs
= new LinkedList
<>();
23 public MobsController() {
24 mPlayer
= new Player();
27 public Player
getPlayer() {
31 public void addMob(Class
<?
extends Mob
> mobClass
, float x
, float y
) {
33 mMobs
.add(mobClass
.getConstructor(float.class, float.class).newInstance(x
, y
));
34 } catch (Exception e
) {
35 Gdx
.app
.error(TAG
, e
.getMessage());
39 public int getSize() {
43 public void forEach(Callback callback
) {
44 mMobs
.forEach(callback
::run
);
47 public Iterator
<Mob
> getIterator() {
48 return mMobs
.iterator();