diff --git a/lib/entity.js b/lib/entity.js index ffd9645..57da15a 100644 --- a/lib/entity.js +++ b/lib/entity.js @@ -14,12 +14,17 @@ export default class Entity { this._ready = false; this._destroyed = false; this._comps = []; + this._tweens = null; // app internal data this._app = null; this._poolID = -1; } + get tweens() { + return this._tweens; + } + get enabledInHierarchy() { return this._enabled && this._ancestorEnabled; } @@ -32,6 +37,27 @@ export default class Entity { return this._destroyed; } + addTween(component, prop, option) { + if (!this._tweens) { + this._tweens = this._app._vtween.newTimeLine({}); + } + + if (component === 'Entity') { + let vtween = this._app._vtween.newTask(this, prop, option); + this._tweens.add(vtween); + return; + } + + let com = this.getComp(component); + + if (!com) { + return; + } + + let vtween = this._app._vtween.newTask(com, prop, option); + this._tweens.add(vtween); + } + destroy() { if (this._destroyed) { return;