Source: objects/BaseTickableObject3D.js

import { Object3D } from './Object3D';

/**
 * @class BaseTickableObject3D
 * The base tickable 3D object.
 * @memberof THING
 * @extends THING.Object3D
 */
class BaseTickableObject3D extends Object3D {

	/**
	 * The base tickable object that can invoke onUpdate() automaticly in scene.
	 * @param {Object} param The initial parameters.
	 */
	constructor(param = {}) {
		super(param);
	}

	// #region Overrides

	onCreate(options) {
		super.onCreate(options);

		this.onAddTickableObject();
	}

	destroy() {
		this.onRemoveTickableObject();

		return super.destroy();
	}

	// #endregion

	get isBaseTickableObject3D() {
		return true;
	}

}

export { BaseTickableObject3D }