import { BaseObject } from './BaseObject';
/**
* @class BaseTickableObject
* The base tickable object.
* @memberof THING
* @extends THING.BaseObject
*/
class BaseTickableObject extends BaseObject {
/**
* The base tickable object that can invoke onUpdate() automaticly.
* @param {Object} param The initial parameters.
*/
constructor(param = {}) {
super(param);
this.onAddTickableObject();
}
// #region Overrides
destroy() {
this.onRemoveTickableObject();
return super.destroy();
}
// #endregion
/**
* Check whether it's BaseTickableObject type or inherit from it.
* @type {Boolean}
* @example
* let obj = new THING.BaseTickableObject()
* let ret = obj.isBaseTickableObject;
* // @expect(ret == true)
*/
get isBaseTickableObject() {
return true;
}
}
export { BaseTickableObject }