var Class = require('../utils/Class'); var EventDispatcher = require('../events/EventDispatcher'); var TweenBuilder = require('./TweenBuilder'); var TweenManager = new Class({ initialize: function TweenManager(state){ this.state = state; this.events = new EventDispatcher(); this._add = [] ; this._pending = [] ; this._active = [] ; this._destroy = [] ; this._toProcess = 0; } , boot: function (){ } , add: function (config){ var tween = TweenBuilder(this, config); this._add.push(tween); this._toProcess++ ; return tween; } , timeline: function (){ } , exists: function (tween){ } , get: function (target){ } , begin: function (){ if (this._toProcess === 0) { return ; } var list = this._destroy; var active = this._active; var i; var tween; for (i = 0; i < (_AN_Read_length('length', list)); i++ ){ tween = list[i]; var idx = active.indexOf(tween); if (idx !== -1) { active.splice(idx, 1); } } list.length = 0; list = this._add; for (i = 0; i < (_AN_Read_length('length', list)); i++ ){ tween = list[i]; if ((_AN_Call_init('init', tween))) { tween.play(); this._active.push(tween); } else { this._pending.push(tween); } } list.length = 0; this._toProcess = 0; } , update: function (timestamp, delta){ var list = this._active; var tween; for (var i = 0; i < (_AN_Read_length('length', list)); i++ ){ tween = list[i]; if (tween.update(timestamp, delta)) { this._destroy.push(tween); this._toProcess++ ; } } } , makeActive: function (tween){ var idx = this._pending.indexOf(tween); if (idx !== -1) { this._pending.splice(idx, 1); } this._add.push(tween); this._toProcess++ ; } , globalTimeScale: function (){ } , getAllTweens: function (){ } , getTweensOf: function (target){ } , isTweening: function (target){ } , kill: function (vars, target){ } , killAll: function (){ } , killTweensOf: function (target){ } , pauseAll: function (){ } , resumeAll: function (){ } , delayedCall: function (){ } , each: function (callback, thisArg){ var args = [null ] ; for (var i = 1; i < (_AN_Read_length('length', arguments)); i++ ){ args.push(arguments[i]); } for (var texture in this.list){ args[0] = this.list[texture]; callback.apply(thisArg, args); } } , shutdown: function (){ } , destroy: function (){ } } ); module.exports = TweenManager;