Dart DocumentationdartemisEntityProcessingSystem

EntityProcessingSystem abstract class

A typical entity system. Use this when you need to process entities possessing the provided component types.

abstract class EntityProcessingSystem extends EntitySystem {

 /**
  * Create a new [EntityProcessingSystem]. It requires at least one component.
  */
 EntityProcessingSystem(Aspect aspect) : super(aspect);

 /**
  * Process a [entity] this system is interested in.
  */
 void processEntity(Entity entity);

 void processEntities(ReadOnlyBag<Entity> entities) => entities.forEach((entity) => processEntity(entity));

 bool checkProcessing() => true;

}

Extends

EntitySystem > EntityProcessingSystem

Subclasses

System_Animator, System_Audio, System_EntityState

Constructors

new EntityProcessingSystem(Aspect aspect) #

Create a new EntityProcessingSystem. It requires at least one component.

EntityProcessingSystem(Aspect aspect) : super(aspect);

Properties

final passive #

inherited from EntitySystem
get passive => _passive;

World world #

inherited from EntitySystem
World world

Methods

void added(Entity e) #

inherited from EntitySystem
void added(Entity e) => _check(e);

void begin() #

inherited from EntitySystem

Called before processing of entities begins.

void begin() {}

void changed(Entity e) #

inherited from EntitySystem
void changed(Entity e) => _check(e);

bool checkProcessing() #

Returns true if the system should be processed, false if not.

docs inherited from EntitySystem
bool checkProcessing() => true;

void deleted(Entity e) #

inherited from EntitySystem
void deleted(Entity e) {
 if (_contains(e)) {
   _removeFromSystem(e);
 }
}

void disabled(Entity e) #

inherited from EntitySystem
void disabled(Entity e) {
 if (_contains(e)) {
   _removeFromSystem(e);
 }
}

void enabled(Entity e) #

inherited from EntitySystem
void enabled(Entity e) => _check(e);

void end() #

inherited from EntitySystem

Called after the processing of entities ends.

void end() {}

void initialize() #

inherited from EntitySystem

Override to implement code that gets executed when systems are initialized.

void initialize() {}

void inserted(Entity entity) #

inherited from EntitySystem

Called if the system has received an entity it is interested in, e.g. created or a component was added to it.

void inserted(Entity entity) {}

void process() #

inherited from EntitySystem

This is the only method that is supposed to be called from outside the library,

void process() {
 if(checkProcessing()) {
   begin();
   processEntities(_actives.readOnly);
   end();
 }
}

void processEntities(ReadOnlyBag<Entity> entities) #

Any implementing entity system must implement this method and the logic to process the given entities of the system.

docs inherited from EntitySystem
void processEntities(ReadOnlyBag<Entity> entities) => entities.forEach((entity) => processEntity(entity));

abstract void processEntity(Entity entity) #

Process a entity this system is interested in.

void removed(Entity entity) #

inherited from EntitySystem

Called if an entity was removed from this system, e.g. deleted or had one of it's components removed.

void removed(Entity entity) {}