Dart Documentationsystem_animatorSystem_Animator

System_Animator class

class System_Animator extends EntityProcessingSystem {
 ComponentMapper<Animatable> _animatableMapper;
 double _tickTime = 0.0;

 System_Animator() : super(Aspect.getAspectForAllOf([Animatable]));

 void initialize(){
   _animatableMapper = new ComponentMapper<Animatable>(Animatable, world);
 }

 void begin() {
   _tickTime += world.delta;
   //if (_tickTime < 10000) print("_tickTime ${_tickTime}");
 }

 void processEntity(Entity entity) {
   var animatable = _animatableMapper.get(entity);
   animatable.l.iterateAndUpdate((anim) {
     if (anim._t0 < 0) {
       anim._t0 = _tickTime;
       anim.onBegin(entity, _tickTime, anim._t0);
     }
     var cont = (anim._t0 <= _tickTime)? anim.onTick(entity, _tickTime, anim._t0) : true;
     if (!cont) {
       anim.onEnd(entity, _tickTime, anim._t0);
     }
     return cont ? anim : anim.next;
   });
 }
}

Extends

EntitySystem > EntityProcessingSystem > System_Animator

Constructors

new System_Animator() #

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

docs inherited from EntityProcessingSystem
System_Animator() : super(Aspect.getAspectForAllOf([Animatable]));

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() #

Called before processing of entities begins.

docs inherited from EntitySystem
void begin() {
 _tickTime += world.delta;
 //if (_tickTime < 10000) print("_tickTime ${_tickTime}");
}

void changed(Entity e) #

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

bool checkProcessing() #

inherited from EntityProcessingSystem

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() #

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

docs inherited from EntitySystem
void initialize(){
 _animatableMapper = new ComponentMapper<Animatable>(Animatable, world);
}

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) #

inherited from EntityProcessingSystem

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));

void processEntity(Entity entity) #

Process a entity this system is interested in.

docs inherited from EntityProcessingSystem
void processEntity(Entity entity) {
 var animatable = _animatableMapper.get(entity);
 animatable.l.iterateAndUpdate((anim) {
   if (anim._t0 < 0) {
     anim._t0 = _tickTime;
     anim.onBegin(entity, _tickTime, anim._t0);
   }
   var cont = (anim._t0 <= _tickTime)? anim.onTick(entity, _tickTime, anim._t0) : true;
   if (!cont) {
     anim.onEnd(entity, _tickTime, anim._t0);
   }
   return cont ? anim : anim.next;
 });
}

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) {}