public abstract class DispersedIntervalEntitySystem
extends com.artemis.BaseEntitySystem
implements com.artemis.EntitySubscription.SubscriptionListener
EntitySystem
that will wait for an interval then queue all
entities to be updated over the duration of the next interval.Modifier and Type | Field and Description |
---|---|
protected int |
entitiesPerUpdate |
protected com.artemis.utils.IntBag |
processingQueue |
Constructor and Description |
---|
DispersedIntervalEntitySystem(com.artemis.Aspect.Builder aspect,
float interval)
Creates an entity system that uses the specified aspect as a matcher
against entities.
|
Modifier and Type | Method and Description |
---|---|
com.artemis.utils.Bag<com.artemis.Entity> |
getEntities()
Gets the entities processed by this
DispersedIntervalEntitySystem . |
float |
getInterval()
Returns the interval of the system
|
void |
inserted(com.artemis.Entity e) |
protected void |
inserted(int entityId) |
void |
inserted(com.artemis.utils.IntBag entities) |
protected void |
processSystem() |
void |
removed(com.artemis.Entity e) |
protected void |
removed(int entityId) |
void |
removed(com.artemis.utils.IntBag entities) |
void |
setInterval(float interval)
Sets the interval of the system
|
protected void |
setWorld(com.artemis.World world) |
protected abstract void |
update(int entityId,
float delta)
Updates an entity
|
protected final com.artemis.utils.IntBag processingQueue
protected int entitiesPerUpdate
public DispersedIntervalEntitySystem(com.artemis.Aspect.Builder aspect, float interval)
aspect
- to match against entitiesprotected abstract void update(int entityId, float delta)
entityId
- The entity iddelta
- The delta since the last updateprotected void processSystem()
processSystem
in class com.artemis.BaseSystem
protected void setWorld(com.artemis.World world)
setWorld
in class com.artemis.BaseEntitySystem
public final void inserted(com.artemis.utils.IntBag entities)
inserted
in interface com.artemis.EntitySubscription.SubscriptionListener
inserted
in class com.artemis.BaseEntitySystem
protected final void inserted(int entityId)
inserted
in class com.artemis.BaseEntitySystem
public final void removed(com.artemis.utils.IntBag entities)
removed
in interface com.artemis.EntitySubscription.SubscriptionListener
removed
in class com.artemis.BaseEntitySystem
protected final void removed(int entityId)
removed
in class com.artemis.BaseEntitySystem
public void inserted(com.artemis.Entity e)
public void removed(com.artemis.Entity e)
public com.artemis.utils.Bag<com.artemis.Entity> getEntities()
DispersedIntervalEntitySystem
. Warning: do not delete entities from
this bag.DispersedIntervalEntitySystem
's entity bag, as matched by Aspect
.public float getInterval()
public void setInterval(float interval)
interval
-