import { Object3D } from './Object3D';
/**
* @class BaseTickableObject3D
* The base tickable 3D object.
* @memberof THING
* @extends THING.Object3D
* @public
*/
class BaseTickableObject3D extends Object3D {
/**
* 基础可更新的3D对象,可以在场景中自动调用 onUpdate()。
* @param {object} param 初始参数。
* 参数与 {@link THING.Object3D} 的构造函数相同。
* 请在 {@link THING.Object3D} 的文档中查看构造函数部分以获取详细参数列表。
*/
constructor(param = {}) {
super(param);
}
// #region Overrides
onCreate(options) {
super.onCreate(options);
this.onAddTickableObject();
}
destroy() {
if (this.app.objectManager.isKeepAliveObject(this)) {
return false;
}
this.onRemoveTickableObject();
return super.destroy();
}
// #endregion
get isBaseTickableObject3D() {
return true;
}
}
export { BaseTickableObject3D }