Animatable class
Component use to store a bag of Animation to play.
Because Animation are a bag of "callback" function, it doesn't follow the philosofy of EntitySystem (Component should be only primitive).
class Animatable extends ComponentPoolable {
 final l = new LinkedBag<Animation>();
 Animatable._();
 static _ctor() => new Animatable._();
 factory Animatable() {
   var c = new Poolable.of(Animatable, _ctor);
   c.cleanUp();
   return c;
 }
 void cleanUp() {
   l.clear();
 }
 /// this is a sugar method for [l].add([a])
 /// sugar because you can write
 ///
 ///    new Animatable()
 ///      ..add(new Animation())
 ///      ..add(new Animation())
 ///
 Animatable add(Animation a) {
   l.add(a);
   return this;
 }
}
Extends
Component > Component_Poolable > ComponentPoolable > Animatable
Constructors
factory Animatable() #
Properties
final l #
final l = new LinkedBag<Animation>()
Methods
Animatable add(Animation a) #
this is a sugar method for l.add( a) sugar because you can write
new Animatable()
 ..add(new Animation())
 ..add(new Animation())
Animatable add(Animation a) {
 l.add(a);
 return this;
}
void cleanUp() #
If you need to do some cleanup when removing this component override this method.
docs inherited from ComponentPoolable 
void cleanUp() {
 l.clear();
}
void moveToPool() #
inherited from Component_Poolable 
Calls the cleanup function and moves this object to the ObjectPool.
void moveToPool() {
 cleanUp();
 ObjectPool.add(this);
}