UNPKG

@orca-fe/x-map

Version:
39 lines (38 loc) 1.3 kB
/* eslint-disable @typescript-eslint/no-explicit-any */ import { EventEmitter } from 'events'; import { Object3D } from 'three'; export default class ThreeObject extends EventEmitter { constructor(options = {}) { super(); this.object3D = new Object3D(); const { z = 0, pointerEvents = false } = options; this.options = options; this.z = z; this.pointerEvents = pointerEvents; this.object3D.position.set(0, 0, this.z); } setZ(z) { this.z = z; this.object3D.position.set(0, 0, this.z); } setLayer(layer) { var _a; this.layer = layer; if (!(layer === null || layer === void 0 ? void 0 : layer.map)) return; const { threeCenter } = layer.map; if (threeCenter[0] !== ((_a = this.threeCenter) === null || _a === void 0 ? void 0 : _a[0]) || threeCenter[1] !== this.threeCenter[1]) { this.threeCenter = threeCenter; this.createObject(); } } emit(eventName, ...args) { return super.emit(eventName, ...args); } on(eventName, listener) { return super.on(eventName, listener); } off(eventName, listener) { return super.off(eventName, listener); } }