r3-legacy/src/game-lib-system-animation.js

49 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-09-05 05:22:52 +02:00
/**
* System takes care of updating all the entities (based on their component data)
* @param apiSystem GameLib.API.System
* @constructor
*/
GameLib.System.Animation = function(
apiSystem
) {
GameLib.System.call(
this,
apiSystem
);
};
GameLib.System.Animation.prototype = Object.create(GameLib.System.prototype);
GameLib.System.Animation.prototype.constructor = GameLib.System.Animation;
GameLib.System.Animation.prototype.start = function() {
GameLib.System.prototype.start.call(this);
this.animateSubscription = GameLib.Event.Subscribe(
GameLib.Event.ANIMATE,
this.animate
);
2017-09-05 05:22:52 +02:00
};
GameLib.System.Animation.prototype.animate = function(data, clientCallback) {
this.renderSubscription = GameLib.Event.Subscribe(
GameLib.Event.BEFORE_RENDER,
function(data) {
if (clientCallback(data)) {
this.renderSubscription.remove();
}
}.bind(this)
)
};
2017-09-05 05:22:52 +02:00
GameLib.System.Animation.prototype.stop = function() {
GameLib.System.prototype.stop.call(this);
this.animateSubscription.remove();
2017-09-05 05:22:52 +02:00
};