@anov/3d 0.0.321 → 0.0.322
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anov3d.js +8 -8
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +26 -29
- package/dist/applicationApi.js.map +1 -1
- package/dist/applicationApiType.js.map +1 -1
- package/dist/hooksManager.js +42 -39
- package/dist/hooksManager.js.map +1 -1
- package/dist/module/camera/index.js +1 -1
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/entity/index.js +35 -37
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/load/loadFbx.js +1 -1
- package/dist/module/entity/model/load/loadFbx.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +1 -1
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/eventBus/index.js +4 -1
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/message/hub.js +178 -0
- package/dist/module/message/hub.js.map +1 -0
- package/dist/module/scene/fileParse.js +1 -1
- package/dist/module/scene/fileParse.js.map +1 -1
- package/dist/module/scene/index.js +1 -1
- package/dist/module/scene/index.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/messageFn.js +21 -25
- package/dist/utils/messageFn.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Box3","MathUtils","Vector3","PerspectiveCameraExpand","CameraExpand","StateMachine","MessageType","sendToMessage","EMessageStatus","hybridList","Camera","app","_this","camera","sceneControl","controls","cameraUtils","addEventListener","isTransitionPeriod","isTrigger","messageType","Event","messageName","status","Success","position","toArray","_focus","_callee","params","_params$isTrigger","point","entity","box","_callee$","_context","get","concat","updateMatrixWorld","setFromObject","min","x","z","max","focus","_x","setCameraMode","setCameraOption","baseParams","fov","setCameraLimitOption","_","_2","_3","pitchLimit","yawLimit","distanceLimit","minDistance","maxDistance","minPolarAngle","degToRad","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","setCameraPosition","copy","fromArray","setCameraAngle","pitch","yaw","distance","setCameraDistance","setYaw","setPitch","direction","subVectors","normalize","newPosition","clone","add","multiplyScalar","setCameraTarget","_set","_callee2","_this2","_params$fov","_params$isTrigger2","_params$target","fsm","_callee2$","_context2","init","transitions","from","to","methods","onHandleBaseOption","onHandleMode","onHandleTarget","onHandlePosition","onHandleAngle","onHandleLimit","handleBaseOption","handleMode","handleTarget","handlePosition","handleAngle","handleLimit","set","_x2","mode","distanceTo","follow","_params$pitch","_params$yaw","_params$distance","_params$relativeRotat","relativeRotation","targetObject","cancelAllFollow","cancelFollow"],"sources":["../../../src/module/camera/index.ts"],"sourcesContent":["import { Box3, MathUtils, type ControlsType, type PerspectiveCamera, Vector3 } from '@anov/3d-core'\nimport { PerspectiveCameraExpand as CameraExpand } from '@anov/3d-ability'\nimport StateMachine from 'javascript-state-machine'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport type { BaseModule } from '../../utils/abstract'\nimport { EMessageStatus } from '../../messageStatus'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\nimport type { CameraAngleParams, CameraLimitParams, CameraSetOptions, baseCameraParams } from './type'\n\ntype vector3Array = [number, number, number]\n\nclass Camera implements BaseModule {\n app: Anov3D\n private camera: PerspectiveCamera\n private controls: ControlsType\n private cameraUtils: CameraExpand\n private target = new Vector3(0, 0, 0)\n private isTrigger = true\n\n constructor(app: Anov3D) {\n this.app = app\n this.camera = app.sceneControl.camera!\n this.controls = app.sceneControl.controls!\n this.cameraUtils = new CameraExpand(this.camera, this.controls, app.sceneControl)\n\n this.cameraUtils.addEventListener('change', () => {\n if ((this.cameraUtils.isTransitionPeriod && this.isTrigger)) {\n sendToMessage(\n this.app,\n {\n messageType: MessageType.Event,\n messageName: 'onCameraChanged',\n status: EMessageStatus.Success,\n },\n {\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n })\n }\n })\n }\n\n /**\n * focus camera\n * @param params\n */\n async focus(params: {\n target: vector3Array | vector3Array[] | string\n pitch?: number\n yaw?: number\n distance?: number\n duration?: number\n isTrigger?: boolean\n }) {\n const { target, isTrigger = true } = params\n let point = target\n\n this.isTrigger = isTrigger\n\n if (typeof point === 'string') {\n const entity = hybridList.get(point)\n\n if (!entity)\n throw new Error(`entity ${target} not found`)\n\n entity.updateMatrixWorld()\n const box = new Box3().setFromObject(entity)\n\n point = [\n new Vector3(box.min.x, box.min.y, box.min.z).toArray(), new Vector3(box.min.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.min.x, box.max.y, box.min.z).toArray(), new Vector3(box.min.x, box.max.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.min.y, box.min.z).toArray(), new Vector3(box.max.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.max.y, box.min.z).toArray(), new Vector3(box.max.x, box.max.y, box.max.z).toArray(),\n ]\n }\n\n return await this.cameraUtils.focus({\n ...params,\n target: point,\n\n })\n }\n\n /**\n * set camera mode, example:free、orbit、firstPerson\n */\n private setCameraMode() {\n // now only support orbit mode, so now do nothing\n }\n\n /**\n * set camera base option, example:fov\n */\n private setCameraOption(baseParams: baseCameraParams) {\n const { fov } = baseParams\n this.camera.fov = fov\n }\n\n /**\n * set camera limit option, example:pitchLimit、yawLimit、distanceLimit\n * @param params\n */\n private setCameraLimitOption(params: CameraLimitParams) {\n const { pitchLimit, yawLimit, distanceLimit } = params\n\n distanceLimit && (this.controls.minDistance = distanceLimit![0])\n distanceLimit && (this.controls.maxDistance = distanceLimit![1] ?? distanceLimit![0])\n\n // TODO: 不能使用控制器的相关参数控制,需要与游戏引擎保持一致\n\n pitchLimit && (this.controls.minPolarAngle = MathUtils.degToRad(pitchLimit![0]))\n pitchLimit && (this.controls.maxPolarAngle = MathUtils.degToRad(pitchLimit![1] ?? pitchLimit![0]))\n\n yawLimit && (this.controls.minAzimuthAngle = MathUtils.degToRad(yawLimit![0]))\n yawLimit && (this.controls.maxAzimuthAngle = MathUtils.degToRad(yawLimit![1] ?? yawLimit![0]))\n }\n\n /**\n * set camera position、target、distance\n */\n private setCameraPosition(position: number[]) {\n this.camera.position.copy(new Vector3().fromArray(position))\n }\n\n /**\n * set camera angle, example:pitch、yaw、distance\n * @param params\n */\n private setCameraAngle(params: CameraAngleParams) {\n const { pitch, yaw, distance } = params\n distance && this.setCameraDistance(distance)\n\n yaw !== undefined && this.cameraUtils.setYaw(yaw)\n pitch !== undefined && this.cameraUtils.setPitch(pitch)\n }\n\n private setCameraDistance(distance: number) {\n const target = this.controls.target\n const position = this.camera.position\n\n const direction = new Vector3().subVectors(position, target).normalize()\n const newPosition = target.clone().add(direction.multiplyScalar(distance))\n\n this.camera.position.copy(newPosition)\n }\n\n private setCameraTarget(target: number[] = this.target.toArray()) {\n this.controls.target.copy(new Vector3().fromArray(target))\n }\n\n /**\n * set camera\n * @param params\n */\n async set(params: CameraSetOptions) {\n const { fov = 45, isTrigger = true, target = [0, 0, 0], position, distance, pitch, yaw, pitchLimit, yawLimit, distanceLimit } = params\n this.target = new Vector3().fromArray(target)\n\n const fsm = new StateMachine({\n init: 'start',\n transitions: [\n { name: 'handleBaseOption', from: 'start', to: 'setBaseOption' },\n { name: 'handleMode', from: 'setBaseOption', to: 'setCameraMode' },\n { name: 'handleTarget', from: 'setCameraMode', to: 'setCameraTarget' },\n { name: 'handleMiddel', from: 'setCameraTarget', to: '*' },\n { name: 'handlePosition', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleAngle', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleLimit', from: '*' },\n ],\n methods: {\n onHandleBaseOption: () => this.setCameraOption({ fov }),\n onHandleMode: () => this.setCameraMode(),\n onHandleTarget: () => this.setCameraTarget(target),\n onHandlePosition: () => this.setCameraPosition(position),\n onHandleAngle: () => { this.setCameraAngle({ pitch, yaw, distance }) },\n onHandleLimit: () => this.setCameraLimitOption({ pitchLimit, yawLimit, distanceLimit }),\n },\n })\n\n fsm.handleBaseOption()\n fsm.handleMode()\n fsm.handleTarget()\n position ? fsm.handlePosition() : fsm.handleAngle()\n fsm.handleLimit()\n\n this.isTrigger = isTrigger\n\n return this.get()\n }\n\n /**\n * get Camera info\n * @returns\n */\n get() {\n return {\n fov: this.camera.fov,\n mode: 'orbitCamera',\n position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],\n target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],\n distance: this.controls.target.distanceTo(this.camera.position),\n pitch: this.cameraUtils.pitch,\n yaw: this.cameraUtils.yaw,\n }\n }\n\n /**\n * follow object\n * @param params\n */\n follow(params: {\n target: string\n pitch?: number\n yaw?: number\n distance?: number\n relativeRotation?: boolean\n }) {\n const { target, pitch = 30, yaw = 0, distance = 0, relativeRotation = false } = params\n const targetObject = hybridList.get(target)\n\n this.cameraUtils.cancelAllFollow()\n\n return this.cameraUtils.follow(\n targetObject,\n this.camera,\n {\n relativeRotation,\n pitch,\n yaw,\n distance,\n },\n )\n }\n\n /**\n * cancel follow\n */\n cancelFollow() {\n this.cameraUtils.cancelAllFollow()\n }\n}\n\nexport default Camera"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Box3","MathUtils","Vector3","PerspectiveCameraExpand","CameraExpand","StateMachine","MessageType","sendToMessage","EMessageStatus","hybridList","Camera","app","_this","camera","sceneControl","controls","cameraUtils","addEventListener","isTransitionPeriod","isTrigger","messageType","Event","messageName","status","Success","position","toArray","_focus","_callee","params","_params$isTrigger","point","entity","box","_callee$","_context","get","concat","updateMatrixWorld","setFromObject","min","x","z","max","focus","_x","setCameraMode","setCameraOption","baseParams","fov","setCameraLimitOption","_","_2","_3","pitchLimit","yawLimit","distanceLimit","minDistance","maxDistance","minPolarAngle","degToRad","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","setCameraPosition","copy","fromArray","setCameraAngle","pitch","yaw","distance","setCameraDistance","setYaw","setPitch","direction","subVectors","normalize","newPosition","clone","add","multiplyScalar","setCameraTarget","_set","_callee2","_this2","_params$fov","_params$isTrigger2","_params$target","fsm","_callee2$","_context2","init","transitions","from","to","methods","onHandleBaseOption","onHandleMode","onHandleTarget","onHandlePosition","onHandleAngle","onHandleLimit","handleBaseOption","handleMode","handleTarget","handlePosition","handleAngle","handleLimit","set","_x2","mode","distanceTo","follow","_params$pitch","_params$yaw","_params$distance","_params$relativeRotat","relativeRotation","targetObject","cancelAllFollow","cancelFollow"],"sources":["../../../src/module/camera/index.ts"],"sourcesContent":["import { Box3, MathUtils, type ControlsType, type PerspectiveCamera, Vector3 } from '@anov/3d-core'\nimport { PerspectiveCameraExpand as CameraExpand } from '@anov/3d-ability'\nimport StateMachine from 'javascript-state-machine'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport type { BaseModule } from '../../utils/abstract'\nimport { EMessageStatus } from '../../messageStatus'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\nimport type { CameraAngleParams, CameraLimitParams, CameraSetOptions, baseCameraParams } from './type'\n\ntype vector3Array = [number, number, number]\n\nclass Camera implements BaseModule {\n app: Anov3D\n private camera: PerspectiveCamera\n private controls: ControlsType\n private cameraUtils: CameraExpand\n private target = new Vector3(0, 0, 0)\n private isTrigger = true\n\n constructor(app: Anov3D) {\n this.app = app\n this.camera = app.sceneControl.camera!\n this.controls = app.sceneControl.controls!\n this.cameraUtils = new CameraExpand(this.camera, this.controls, app.sceneControl)\n\n this.cameraUtils.addEventListener('change', () => {\n if ((this.cameraUtils.isTransitionPeriod && this.isTrigger)) {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onCameraChanged',\n status: EMessageStatus.Success,\n },\n {\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n })\n }\n })\n }\n\n /**\n * focus camera\n * @param params\n */\n async focus(params: {\n target: vector3Array | vector3Array[] | string\n pitch?: number\n yaw?: number\n distance?: number\n duration?: number\n isTrigger?: boolean\n }) {\n const { target, isTrigger = true } = params\n let point = target\n\n this.isTrigger = isTrigger\n\n if (typeof point === 'string') {\n const entity = hybridList.get(point)\n\n if (!entity)\n throw new Error(`entity ${target} not found`)\n\n entity.updateMatrixWorld()\n const box = new Box3().setFromObject(entity)\n\n point = [\n new Vector3(box.min.x, box.min.y, box.min.z).toArray(), new Vector3(box.min.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.min.x, box.max.y, box.min.z).toArray(), new Vector3(box.min.x, box.max.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.min.y, box.min.z).toArray(), new Vector3(box.max.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.max.y, box.min.z).toArray(), new Vector3(box.max.x, box.max.y, box.max.z).toArray(),\n ]\n }\n\n return await this.cameraUtils.focus({\n ...params,\n target: point,\n\n })\n }\n\n /**\n * set camera mode, example:free、orbit、firstPerson\n */\n private setCameraMode() {\n // now only support orbit mode, so now do nothing\n }\n\n /**\n * set camera base option, example:fov\n */\n private setCameraOption(baseParams: baseCameraParams) {\n const { fov } = baseParams\n this.camera.fov = fov\n }\n\n /**\n * set camera limit option, example:pitchLimit、yawLimit、distanceLimit\n * @param params\n */\n private setCameraLimitOption(params: CameraLimitParams) {\n const { pitchLimit, yawLimit, distanceLimit } = params\n\n distanceLimit && (this.controls.minDistance = distanceLimit![0])\n distanceLimit && (this.controls.maxDistance = distanceLimit![1] ?? distanceLimit![0])\n\n // TODO: 不能使用控制器的相关参数控制,需要与游戏引擎保持一致\n\n pitchLimit && (this.controls.minPolarAngle = MathUtils.degToRad(pitchLimit![0]))\n pitchLimit && (this.controls.maxPolarAngle = MathUtils.degToRad(pitchLimit![1] ?? pitchLimit![0]))\n\n yawLimit && (this.controls.minAzimuthAngle = MathUtils.degToRad(yawLimit![0]))\n yawLimit && (this.controls.maxAzimuthAngle = MathUtils.degToRad(yawLimit![1] ?? yawLimit![0]))\n }\n\n /**\n * set camera position、target、distance\n */\n private setCameraPosition(position: number[]) {\n this.camera.position.copy(new Vector3().fromArray(position))\n }\n\n /**\n * set camera angle, example:pitch、yaw、distance\n * @param params\n */\n private setCameraAngle(params: CameraAngleParams) {\n const { pitch, yaw, distance } = params\n distance && this.setCameraDistance(distance)\n\n yaw !== undefined && this.cameraUtils.setYaw(yaw)\n pitch !== undefined && this.cameraUtils.setPitch(pitch)\n }\n\n private setCameraDistance(distance: number) {\n const target = this.controls.target\n const position = this.camera.position\n\n const direction = new Vector3().subVectors(position, target).normalize()\n const newPosition = target.clone().add(direction.multiplyScalar(distance))\n\n this.camera.position.copy(newPosition)\n }\n\n private setCameraTarget(target: number[] = this.target.toArray()) {\n this.controls.target.copy(new Vector3().fromArray(target))\n }\n\n /**\n * set camera\n * @param params\n */\n async set(params: CameraSetOptions) {\n const { fov = 45, isTrigger = true, target = [0, 0, 0], position, distance, pitch, yaw, pitchLimit, yawLimit, distanceLimit } = params\n this.target = new Vector3().fromArray(target)\n\n const fsm = new StateMachine({\n init: 'start',\n transitions: [\n { name: 'handleBaseOption', from: 'start', to: 'setBaseOption' },\n { name: 'handleMode', from: 'setBaseOption', to: 'setCameraMode' },\n { name: 'handleTarget', from: 'setCameraMode', to: 'setCameraTarget' },\n { name: 'handleMiddel', from: 'setCameraTarget', to: '*' },\n { name: 'handlePosition', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleAngle', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleLimit', from: '*' },\n ],\n methods: {\n onHandleBaseOption: () => this.setCameraOption({ fov }),\n onHandleMode: () => this.setCameraMode(),\n onHandleTarget: () => this.setCameraTarget(target),\n onHandlePosition: () => this.setCameraPosition(position),\n onHandleAngle: () => { this.setCameraAngle({ pitch, yaw, distance }) },\n onHandleLimit: () => this.setCameraLimitOption({ pitchLimit, yawLimit, distanceLimit }),\n },\n })\n\n fsm.handleBaseOption()\n fsm.handleMode()\n fsm.handleTarget()\n position ? fsm.handlePosition() : fsm.handleAngle()\n fsm.handleLimit()\n\n this.isTrigger = isTrigger\n\n return this.get()\n }\n\n /**\n * get Camera info\n * @returns\n */\n get() {\n return {\n fov: this.camera.fov,\n mode: 'orbitCamera',\n position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],\n target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],\n distance: this.controls.target.distanceTo(this.camera.position),\n pitch: this.cameraUtils.pitch,\n yaw: this.cameraUtils.yaw,\n }\n }\n\n /**\n * follow object\n * @param params\n */\n follow(params: {\n target: string\n pitch?: number\n yaw?: number\n distance?: number\n relativeRotation?: boolean\n }) {\n const { target, pitch = 30, yaw = 0, distance = 0, relativeRotation = false } = params\n const targetObject = hybridList.get(target)\n\n this.cameraUtils.cancelAllFollow()\n\n return this.cameraUtils.follow(\n targetObject,\n this.camera,\n {\n relativeRotation,\n pitch,\n yaw,\n distance,\n },\n )\n }\n\n /**\n * cancel follow\n */\n cancelFollow() {\n this.cameraUtils.cancelAllFollow()\n }\n}\n\nexport default Camera"],"mappings":"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"}
|
|
@@ -26,7 +26,6 @@ export var hybridList = new HybridList();
|
|
|
26
26
|
*/
|
|
27
27
|
var Entity = /*#__PURE__*/function () {
|
|
28
28
|
function Entity(app) {
|
|
29
|
-
var _this = this;
|
|
30
29
|
_classCallCheck(this, Entity);
|
|
31
30
|
_defineProperty(this, "app", void 0);
|
|
32
31
|
_defineProperty(this, "catchStrategy", new Map());
|
|
@@ -40,7 +39,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
40
39
|
this.app.sceneControl.context.scene.add(this.materialSwitchSystem);
|
|
41
40
|
this.materialSwitchSystem.addEventListener('onStyleChanged', function (_ref) {
|
|
42
41
|
var style = _ref.style;
|
|
43
|
-
sendToMessage(
|
|
42
|
+
sendToMessage({
|
|
44
43
|
messageType: MessageType.Event,
|
|
45
44
|
messageName: 'onStyleChanged',
|
|
46
45
|
status: EMessageStatus.Success
|
|
@@ -97,7 +96,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
97
96
|
key: "singleCreate",
|
|
98
97
|
value: function () {
|
|
99
98
|
var _singleCreate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(id, strategy, option, group, layerId) {
|
|
100
|
-
var
|
|
99
|
+
var _this = this;
|
|
101
100
|
var entityInfoArray, targetEntityInfo, _option$interactable, interactable, _option$interactiveEf, interactiveEffect, _option$collision, collision, entity;
|
|
102
101
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
103
102
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -131,12 +130,12 @@ var Entity = /*#__PURE__*/function () {
|
|
|
131
130
|
group === null || group === void 0 || group.add(entity);
|
|
132
131
|
if (interactiveEffect && entity.userData.entityParams.type === 'model') {
|
|
133
132
|
entity.addEventListener('mouseover', function () {
|
|
134
|
-
var
|
|
135
|
-
if (entity.userData.entityParams.interactiveEffect) (
|
|
133
|
+
var _this$select;
|
|
134
|
+
if (entity.userData.entityParams.interactiveEffect) (_this$select = _this.select) === null || _this$select === void 0 || _this$select.call(_this, [entity]);
|
|
136
135
|
});
|
|
137
136
|
entity.addEventListener('mouseout', function () {
|
|
138
|
-
var
|
|
139
|
-
(
|
|
137
|
+
var _this$select2;
|
|
138
|
+
(_this$select2 = _this.select) === null || _this$select2 === void 0 || _this$select2.call(_this, []);
|
|
140
139
|
});
|
|
141
140
|
}
|
|
142
141
|
return _context2.abrupt("return", _objectSpread(_objectSpread({}, option), {}, {
|
|
@@ -160,7 +159,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
160
159
|
}, {
|
|
161
160
|
key: "multiCreate",
|
|
162
161
|
value: function multiCreate(id, strategy, json) {
|
|
163
|
-
var
|
|
162
|
+
var _this2 = this;
|
|
164
163
|
var itemType = json.itemType,
|
|
165
164
|
_json$items = json.items,
|
|
166
165
|
items = _json$items === void 0 ? [] : _json$items,
|
|
@@ -190,7 +189,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
190
189
|
}
|
|
191
190
|
currentData.type = itemType;
|
|
192
191
|
_context3.next = 5;
|
|
193
|
-
return
|
|
192
|
+
return _this2.singleCreate(item.id, strategy, currentData, group, id);
|
|
194
193
|
case 5:
|
|
195
194
|
return _context3.abrupt("return", _context3.sent);
|
|
196
195
|
case 6:
|
|
@@ -212,7 +211,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
212
211
|
name: name
|
|
213
212
|
};
|
|
214
213
|
hybridList.add(id, group);
|
|
215
|
-
|
|
214
|
+
_this2.app.sceneControl.context.scene.add(group);
|
|
216
215
|
return _objectSpread(_objectSpread({}, json), {}, {
|
|
217
216
|
id: id,
|
|
218
217
|
position: group.position.toArray(),
|
|
@@ -232,7 +231,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
232
231
|
key: "create",
|
|
233
232
|
value: (function () {
|
|
234
233
|
var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(json) {
|
|
235
|
-
var
|
|
234
|
+
var _this3 = this;
|
|
236
235
|
var id, type, itemType, asyncTask;
|
|
237
236
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
238
237
|
while (1) switch (_context5.prev = _context5.next) {
|
|
@@ -244,11 +243,11 @@ var Entity = /*#__PURE__*/function () {
|
|
|
244
243
|
while (1) switch (_context4.prev = _context4.next) {
|
|
245
244
|
case 0:
|
|
246
245
|
_context4.next = 2;
|
|
247
|
-
return
|
|
246
|
+
return _this3.registerStrategy(itemType || type);
|
|
248
247
|
case 2:
|
|
249
248
|
strategy = _context4.sent;
|
|
250
|
-
if (itemType && type === 'layer') res =
|
|
251
|
-
return _context4.abrupt("return",
|
|
249
|
+
if (itemType && type === 'layer') res = _this3.multiCreate(id, strategy, json);else res = _this3.singleCreate(id, strategy, json);
|
|
250
|
+
return _context4.abrupt("return", _this3.handleResult(id, res));
|
|
252
251
|
case 5:
|
|
253
252
|
case "end":
|
|
254
253
|
return _context4.stop();
|
|
@@ -273,7 +272,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
273
272
|
key: "singleUpdate",
|
|
274
273
|
value: function () {
|
|
275
274
|
var _singleUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(id, strategy, option, group) {
|
|
276
|
-
var
|
|
275
|
+
var _this4 = this;
|
|
277
276
|
var target, _target$userData$enti, entityParams, entityInfoArray, targetEntityInfo, _option$interactiveEf2, interactiveEffect, entity, interactable;
|
|
278
277
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
279
278
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -313,12 +312,12 @@ var Entity = /*#__PURE__*/function () {
|
|
|
313
312
|
hybridList.update(id, entity);
|
|
314
313
|
if (interactiveEffect && entity.userData.entityParams.type === 'model') {
|
|
315
314
|
entity.addEventListener('mouseover', function () {
|
|
316
|
-
var
|
|
317
|
-
if (entity.userData.entityParams.interactiveEffect) (
|
|
315
|
+
var _this4$select;
|
|
316
|
+
if (entity.userData.entityParams.interactiveEffect) (_this4$select = _this4.select) === null || _this4$select === void 0 || _this4$select.call(_this4, [entity]);
|
|
318
317
|
});
|
|
319
318
|
entity.addEventListener('mouseout', function () {
|
|
320
|
-
var
|
|
321
|
-
(
|
|
319
|
+
var _this4$select2;
|
|
320
|
+
(_this4$select2 = _this4.select) === null || _this4$select2 === void 0 || _this4$select2.call(_this4, []);
|
|
322
321
|
});
|
|
323
322
|
}
|
|
324
323
|
if (entity.userData.entityParams.type === 'model' && entity.visible) this.materialSwitchSystem.addObject(entity);
|
|
@@ -344,7 +343,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
344
343
|
key: "multiUpdate",
|
|
345
344
|
value: function () {
|
|
346
345
|
var _multiUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(id, strategy, option) {
|
|
347
|
-
var
|
|
346
|
+
var _this5 = this;
|
|
348
347
|
var group, items, legends, itemType, promises, interactable;
|
|
349
348
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
350
349
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -366,13 +365,13 @@ var Entity = /*#__PURE__*/function () {
|
|
|
366
365
|
break;
|
|
367
366
|
}
|
|
368
367
|
_context7.next = 5;
|
|
369
|
-
return
|
|
368
|
+
return _this5.singleUpdate(item.id, strategy, currentItem, group);
|
|
370
369
|
case 5:
|
|
371
370
|
return _context7.abrupt("return", _context7.sent);
|
|
372
371
|
case 8:
|
|
373
372
|
currentItem.type = itemType;
|
|
374
373
|
_context7.next = 11;
|
|
375
|
-
return
|
|
374
|
+
return _this5.singleCreate(item.id, strategy, currentItem, group);
|
|
376
375
|
case 11:
|
|
377
376
|
return _context7.abrupt("return", _context7.sent);
|
|
378
377
|
case 12:
|
|
@@ -420,7 +419,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
420
419
|
key: "update",
|
|
421
420
|
value: (function () {
|
|
422
421
|
var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(json) {
|
|
423
|
-
var
|
|
422
|
+
var _this6 = this;
|
|
424
423
|
var id;
|
|
425
424
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
426
425
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -434,13 +433,13 @@ var Entity = /*#__PURE__*/function () {
|
|
|
434
433
|
target = hybridList.get(id);
|
|
435
434
|
_target$userData$enti2 = target.userData.entityParams, type = _target$userData$enti2.type, itemType = _target$userData$enti2.itemType;
|
|
436
435
|
_context9.next = 4;
|
|
437
|
-
return
|
|
436
|
+
return _this6.registerStrategy(itemType || type);
|
|
438
437
|
case 4:
|
|
439
438
|
strategy = _context9.sent;
|
|
440
|
-
if (itemType && type === 'layer') res =
|
|
439
|
+
if (itemType && type === 'layer') res = _this6.multiUpdate(id, strategy, _objectSpread({
|
|
441
440
|
itemType: itemType
|
|
442
|
-
}, json));else res =
|
|
443
|
-
|
|
441
|
+
}, json));else res = _this6.singleUpdate(id, strategy, json);
|
|
442
|
+
_this6.handleResult(id, res);
|
|
444
443
|
case 7:
|
|
445
444
|
case "end":
|
|
446
445
|
return _context9.stop();
|
|
@@ -463,7 +462,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
463
462
|
key: "execute",
|
|
464
463
|
value: function () {
|
|
465
464
|
var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(json) {
|
|
466
|
-
var
|
|
465
|
+
var _this7 = this;
|
|
467
466
|
var id, method, args;
|
|
468
467
|
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
469
468
|
while (1) switch (_context12.prev = _context12.next) {
|
|
@@ -478,7 +477,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
478
477
|
target = hybridList.get(id);
|
|
479
478
|
type = target.userData.entityParams.type;
|
|
480
479
|
_context11.next = 4;
|
|
481
|
-
return
|
|
480
|
+
return _this7.registerStrategy(type);
|
|
482
481
|
case 4:
|
|
483
482
|
strategy = _context11.sent;
|
|
484
483
|
_context11.next = 7;
|
|
@@ -494,7 +493,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
494
493
|
case 11:
|
|
495
494
|
entity = targetEntityInfo.value;
|
|
496
495
|
hybridList.update(id, entity);
|
|
497
|
-
|
|
496
|
+
_this7.handleResult(id, _objectSpread(_objectSpread({}, json), {}, {
|
|
498
497
|
id: id,
|
|
499
498
|
position: entity.position.toArray(),
|
|
500
499
|
rotation: entity.rotation.toArray(),
|
|
@@ -529,12 +528,12 @@ var Entity = /*#__PURE__*/function () {
|
|
|
529
528
|
key: "handleResult",
|
|
530
529
|
value: (function () {
|
|
531
530
|
var _handleResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(id, res) {
|
|
532
|
-
var
|
|
531
|
+
var _this8 = this;
|
|
533
532
|
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
534
533
|
while (1) switch (_context13.prev = _context13.next) {
|
|
535
534
|
case 0:
|
|
536
535
|
return _context13.abrupt("return", Promise.resolve(res).then(function () {
|
|
537
|
-
sendToMessage(
|
|
536
|
+
sendToMessage({
|
|
538
537
|
messageType: MessageType.Event,
|
|
539
538
|
messageName: 'onLoaded',
|
|
540
539
|
status: EMessageStatus.Success,
|
|
@@ -544,7 +543,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
544
543
|
success: true
|
|
545
544
|
});
|
|
546
545
|
}).catch(function () {
|
|
547
|
-
sendToMessage(
|
|
546
|
+
sendToMessage({
|
|
548
547
|
messageType: MessageType.Event,
|
|
549
548
|
messageName: 'onLoaded',
|
|
550
549
|
status: EMessageStatus.Success,
|
|
@@ -554,7 +553,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
554
553
|
success: false
|
|
555
554
|
});
|
|
556
555
|
}).finally(function () {
|
|
557
|
-
|
|
556
|
+
_this8.app.emit('onEntityLoaded', {
|
|
558
557
|
id: id
|
|
559
558
|
});
|
|
560
559
|
}));
|
|
@@ -650,7 +649,6 @@ var Entity = /*#__PURE__*/function () {
|
|
|
650
649
|
}, {
|
|
651
650
|
key: "registerEvents",
|
|
652
651
|
value: function registerEvents(opts) {
|
|
653
|
-
var _this10 = this;
|
|
654
652
|
var eventName = opts.eventName,
|
|
655
653
|
id = opts.entityId;
|
|
656
654
|
var realEventName = eventName.slice(2).toLowerCase();
|
|
@@ -667,7 +665,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
667
665
|
target.userData[realEventName] = debounce(function (e) {
|
|
668
666
|
var closestMesh = e.newClosestMesh;
|
|
669
667
|
var minimumEntity = getMinimumEntity(closestMesh, target);
|
|
670
|
-
minimumEntity && sendToMessage(
|
|
668
|
+
minimumEntity && sendToMessage({
|
|
671
669
|
messageType: MessageType.Event,
|
|
672
670
|
messageName: eventName,
|
|
673
671
|
status: EMessageStatus.Success,
|
|
@@ -681,7 +679,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
681
679
|
} else {
|
|
682
680
|
target.userData[realEventName] = debounce(function (e) {
|
|
683
681
|
console.log('e:', e);
|
|
684
|
-
sendToMessage(
|
|
682
|
+
sendToMessage({
|
|
685
683
|
messageType: MessageType.Event,
|
|
686
684
|
messageName: eventName,
|
|
687
685
|
status: EMessageStatus.Success,
|