@anov/3d 0.0.189 → 0.0.190

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 CHANGED
@@ -11,6 +11,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import { SceneControl, Vector3, utils } from '@anov/3d-core';
14
+ import { initPostEffects } from '@anov/3d-ability';
14
15
  import EventBus from "./module/eventBus";
15
16
  import { object2Vector3 } from "./utils/index";
16
17
  import { defaultCameraParams } from "./index";
@@ -52,6 +53,7 @@ var Anov3D = /*#__PURE__*/_createClass(function Anov3D(opts) {
52
53
  });
53
54
  scene.render(opts.container);
54
55
  scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt));
56
+ initPostEffects(scene.scene, scene.renderer, scene.camera);
55
57
  utils.emitter.emit('scene-completed', scene);
56
58
 
57
59
  // 不考虑 tree-shaking
@@ -1 +1 @@
1
- {"version":3,"names":["SceneControl","Vector3","utils","EventBus","object2Vector3","defaultCameraParams","Anov3D","_createClass","opts","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","defaultPosition","position","defaultRest","_objectWithoutProperties","_excluded","cameraParams","_objectSpread","fromArray","scene","orbitControls","use","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","controls","target","copy","lookAt","emitter","emit","sceneControl","eventBus","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { SceneControl, Vector3, utils } from '@anov/3d-core'\nimport EventBus from './module/eventBus'\nimport { object2Vector3 } from './utils/index'\nimport type { InitOptions } from './applicationApiType'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n camera?: InitOptions['camera']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n\n // 获取默认和传入的相机参数\n const { camera = {}, container: { clientWidth, clientHeight } } = opts\n const { position: defaultPosition, ...defaultRest } = defaultCameraParams\n\n // 初始化相机参数\n const cameraParams = {\n ...defaultRest,\n ...camera,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition),\n }\n\n const scene = new SceneControl({\n orbitControls: { use: true },\n defCameraOps: {\n ...cameraParams,\n aspect: clientWidth / clientHeight,\n },\n rendererOps: {\n shadowMap: true,\n },\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.render(opts.container)\n scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n this.eventBus = new EventBus(this)\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n}\n\nexport default Anov3D"],"mappings":";;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,eAAe;AAC5D,OAAOC,QAAQ;AACf,SAASC,cAAc;AAEvB,SAASC,mBAAmB;AAAiB,IAOvCC,MAAM,gBAAAC,YAAA,CAMV,SAAAD,OAAYE,IAAmB,EAAE;EAAAC,eAAA,OAAAH,MAAA;EAAAI,eAAA,oBALrB,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA;EAMX,IAAI,CAACF,IAAI,GAAGA,IAAI;;EAEhB;EACA,IAAAG,YAAA,GAAkEH,IAAI,CAA9DI,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAAE,eAAA,GAA+CL,IAAI,CAAjDM,SAAS;IAAIC,WAAW,GAAAF,eAAA,CAAXE,WAAW;IAAEC,YAAY,GAAAH,eAAA,CAAZG,YAAY;EAC3D,IAAkBC,eAAe,GAAqBZ,mBAAmB,CAAjEa,QAAQ;IAAsBC,WAAW,GAAAC,wBAAA,CAAKf,mBAAmB,EAAAgB,SAAA;;EAEzE;EACA,IAAMC,YAAY,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACbJ,WAAW,GACXP,MAAM;IACTM,QAAQ,EAAEN,MAAM,CAACM,QAAQ,GAAG,IAAIjB,OAAO,CAAC,CAAC,CAACuB,SAAS,CAACZ,MAAM,CAACM,QAAQ,CAAC,GAAGd,cAAc,CAACa,eAAe;EAAC,EACvG;EAED,IAAMQ,KAAK,GAAG,IAAIzB,YAAY,CAAC;IAC7B0B,aAAa,EAAE;MAAEC,GAAG,EAAE;IAAK,CAAC;IAC5BC,YAAY,EAAAL,aAAA,CAAAA,aAAA,KACPD,YAAY;MACfO,MAAM,EAAEd,WAAW,GAAGC;IAAY,EACnC;IACDc,WAAW,EAAE;MACXC,SAAS,EAAE;IACb,CAAC;IACDC,KAAK,EAAE,IAAI;IACXC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEFV,KAAK,CAACW,MAAM,CAAC5B,IAAI,CAACM,SAAS,CAAC;EAC5BW,KAAK,CAACY,QAAQ,CAACC,MAAM,CAACC,IAAI,CAACnC,cAAc,CAACC,mBAAmB,CAACmC,MAAM,CAAC,CAAC;EAEtEtC,KAAK,CAACuC,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAEjB,KAAK,CAAC;;EAE5C;EACA,IAAI,CAACkB,YAAY,GAAGlB,KAAK;EACzB,IAAI,CAACmB,QAAQ,GAAG,IAAIzC,QAAQ,CAAC,IAAI,CAAC;EAElCD,KAAK,CAAC2C,eAAe,CAACC,GAAG,CAAC,WAAW,EAAE,IAAI,CAACF,QAAQ,CAAC;EACrD1C,KAAK,CAACuC,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACrD,CAAC;AAGH,eAAepC,MAAM"}
1
+ {"version":3,"names":["SceneControl","Vector3","utils","initPostEffects","EventBus","object2Vector3","defaultCameraParams","Anov3D","_createClass","opts","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","defaultPosition","position","defaultRest","_objectWithoutProperties","_excluded","cameraParams","_objectSpread","fromArray","scene","orbitControls","use","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","controls","target","copy","lookAt","renderer","emitter","emit","sceneControl","eventBus","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { SceneControl, Vector3, utils } from '@anov/3d-core'\nimport { initPostEffects } from '@anov/3d-ability'\nimport EventBus from './module/eventBus'\nimport { object2Vector3 } from './utils/index'\nimport type { InitOptions } from './applicationApiType'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n camera?: InitOptions['camera']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n\n // 获取默认和传入的相机参数\n const { camera = {}, container: { clientWidth, clientHeight } } = opts\n const { position: defaultPosition, ...defaultRest } = defaultCameraParams\n\n // 初始化相机参数\n const cameraParams = {\n ...defaultRest,\n ...camera,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition),\n }\n\n const scene = new SceneControl({\n orbitControls: { use: true },\n defCameraOps: {\n ...cameraParams,\n aspect: clientWidth / clientHeight,\n },\n rendererOps: {\n shadowMap: true,\n },\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.render(opts.container)\n scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt))\n\n initPostEffects(scene.scene, scene.renderer, scene.camera)\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n this.eventBus = new EventBus(this)\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n}\n\nexport default Anov3D"],"mappings":";;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,eAAe;AAC5D,SAASC,eAAe,QAAQ,kBAAkB;AAClD,OAAOC,QAAQ;AACf,SAASC,cAAc;AAEvB,SAASC,mBAAmB;AAAiB,IAOvCC,MAAM,gBAAAC,YAAA,CAMV,SAAAD,OAAYE,IAAmB,EAAE;EAAAC,eAAA,OAAAH,MAAA;EAAAI,eAAA,oBALrB,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA;EAMX,IAAI,CAACF,IAAI,GAAGA,IAAI;;EAEhB;EACA,IAAAG,YAAA,GAAkEH,IAAI,CAA9DI,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAAE,eAAA,GAA+CL,IAAI,CAAjDM,SAAS;IAAIC,WAAW,GAAAF,eAAA,CAAXE,WAAW;IAAEC,YAAY,GAAAH,eAAA,CAAZG,YAAY;EAC3D,IAAkBC,eAAe,GAAqBZ,mBAAmB,CAAjEa,QAAQ;IAAsBC,WAAW,GAAAC,wBAAA,CAAKf,mBAAmB,EAAAgB,SAAA;;EAEzE;EACA,IAAMC,YAAY,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACbJ,WAAW,GACXP,MAAM;IACTM,QAAQ,EAAEN,MAAM,CAACM,QAAQ,GAAG,IAAIlB,OAAO,CAAC,CAAC,CAACwB,SAAS,CAACZ,MAAM,CAACM,QAAQ,CAAC,GAAGd,cAAc,CAACa,eAAe;EAAC,EACvG;EAED,IAAMQ,KAAK,GAAG,IAAI1B,YAAY,CAAC;IAC7B2B,aAAa,EAAE;MAAEC,GAAG,EAAE;IAAK,CAAC;IAC5BC,YAAY,EAAAL,aAAA,CAAAA,aAAA,KACPD,YAAY;MACfO,MAAM,EAAEd,WAAW,GAAGC;IAAY,EACnC;IACDc,WAAW,EAAE;MACXC,SAAS,EAAE;IACb,CAAC;IACDC,KAAK,EAAE,IAAI;IACXC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEFV,KAAK,CAACW,MAAM,CAAC5B,IAAI,CAACM,SAAS,CAAC;EAC5BW,KAAK,CAACY,QAAQ,CAACC,MAAM,CAACC,IAAI,CAACnC,cAAc,CAACC,mBAAmB,CAACmC,MAAM,CAAC,CAAC;EAEtEtC,eAAe,CAACuB,KAAK,CAACA,KAAK,EAAEA,KAAK,CAACgB,QAAQ,EAAEhB,KAAK,CAACb,MAAM,CAAC;EAE1DX,KAAK,CAACyC,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAElB,KAAK,CAAC;;EAE5C;EACA,IAAI,CAACmB,YAAY,GAAGnB,KAAK;EACzB,IAAI,CAACoB,QAAQ,GAAG,IAAI1C,QAAQ,CAAC,IAAI,CAAC;EAElCF,KAAK,CAAC6C,eAAe,CAACC,GAAG,CAAC,WAAW,EAAE,IAAI,CAACF,QAAQ,CAAC;EACrD5C,KAAK,CAACyC,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACrD,CAAC;AAGH,eAAerC,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"names":["ListNode","_createClass","value","key","_classCallCheck","_defineProperty","next","prev","HybridList","map","Map","head","tail","get","node","update","has","add","Error","concat","newNode","set","_delete","delete","clear"],"sources":["../../../src/module/entity/hybridList.ts"],"sourcesContent":["class ListNode<T> {\n value: T\n key: string | number\n next: ListNode<T> | null\n prev: ListNode<T> | null\n\n constructor(value: T, key: string | number) {\n this.value = value\n this.key = key\n this.next = null\n this.prev = null\n }\n}\n\nclass HybridList<T> {\n private map: Map<string | number, ListNode<T>>\n private head: ListNode<T> | null\n private tail: ListNode<T> | null\n\n constructor() {\n this.map = new Map<string | number, ListNode<T>>()\n this.head = null\n this.tail = null\n }\n\n get(key: string | number): T | null {\n const node = this.map.get(key)\n return node ? node.value : null\n }\n\n update(key: string | number, value: T): void {\n const node = this.map.get(key)\n if (node)\n node.value = value\n }\n\n has(key: string | number) {\n return this.map.has(key)\n }\n\n add(key: string | number, value: T): void {\n if (this.map.has(key))\n throw new Error(`${key} already exists`)\n\n const newNode = new ListNode(value, key)\n this.map.set(key, newNode)\n\n if (this.tail) {\n this.tail.next = newNode\n newNode.prev = this.tail\n this.tail = newNode\n }\n else {\n this.head = this.tail = newNode\n }\n }\n\n delete(key: string | number): void {\n const node = this.map.get(key)\n\n if (!node)\n return\n\n if (node.prev)\n node.prev.next = node.next\n else\n this.head = node.next\n\n if (node.next)\n node.next.prev = node.prev\n else\n this.tail = node.prev\n\n this.map.delete(key)\n }\n\n clear() {\n this.map.clear()\n }\n}\n\nexport default HybridList\n"],"mappings":"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"}
1
+ {"version":3,"names":["ListNode","_createClass","value","key","_classCallCheck","_defineProperty","next","prev","HybridList","map","Map","head","tail","get","node","update","has","add","Error","concat","newNode","set","_delete","delete","clear"],"sources":["../../../src/module/entity/hybridList.ts"],"sourcesContent":["class ListNode<T> {\n value: T\n key: string | number\n next: ListNode<T> | null\n prev: ListNode<T> | null\n\n constructor(value: T, key: string | number) {\n this.value = value\n this.key = key\n this.next = null\n this.prev = null\n }\n}\n\nclass HybridList<T> {\n public map: Map<string | number, ListNode<T>>\n private head: ListNode<T> | null\n private tail: ListNode<T> | null\n\n constructor() {\n this.map = new Map<string | number, ListNode<T>>()\n this.head = null\n this.tail = null\n }\n\n get(key: string | number): T | null {\n const node = this.map.get(key)\n return node ? node.value : null\n }\n\n update(key: string | number, value: T): void {\n const node = this.map.get(key)\n if (node)\n node.value = value\n }\n\n has(key: string | number) {\n return this.map.has(key)\n }\n\n add(key: string | number, value: T): void {\n if (this.map.has(key))\n throw new Error(`${key} already exists`)\n\n const newNode = new ListNode(value, key)\n this.map.set(key, newNode)\n\n if (this.tail) {\n this.tail.next = newNode\n newNode.prev = this.tail\n this.tail = newNode\n }\n else {\n this.head = this.tail = newNode\n }\n }\n\n delete(key: string | number): void {\n const node = this.map.get(key)\n\n if (!node)\n return\n\n if (node.prev)\n node.prev.next = node.next\n else\n this.head = node.next\n\n if (node.next)\n node.next.prev = node.prev\n else\n this.tail = node.prev\n\n this.map.delete(key)\n }\n\n clear() {\n this.map.clear()\n }\n}\n\nexport default HybridList\n"],"mappings":"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"}
@@ -11,8 +11,10 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import { Group, use } from '@anov/3d-core';
14
+ import { createHighSelectedTool } from '@anov/3d-ability';
14
15
  import { MessageType, sendToMessage } from "../../utils/messageFn";
15
16
  import { EMessageStatus } from "../../messageStatus";
17
+ import { entityEvents } from "../eventBus/entityEvents";
16
18
  import HybridList from "./hybridList";
17
19
  import { entityStrategy, eventPenetrateType } from "./strategy";
18
20
  import createDisposeFn from "./dispose";
@@ -23,6 +25,8 @@ var Entity = /*#__PURE__*/function () {
23
25
  _classCallCheck(this, Entity);
24
26
  _defineProperty(this, "app", void 0);
25
27
  _defineProperty(this, "catchStrategy", new Map());
28
+ _defineProperty(this, "select", void 0);
29
+ this.select = createHighSelectedTool();
26
30
  this.app = app;
27
31
  }
28
32
 
@@ -66,7 +70,8 @@ var Entity = /*#__PURE__*/function () {
66
70
  key: "singleCreate",
67
71
  value: function () {
68
72
  var _singleCreate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(id, strategy, option, group, layerId) {
69
- var entityInfoArray, targetEntityInfo, entity;
73
+ var _this = this;
74
+ var entityInfoArray, targetEntityInfo, _option$interactable, interactable, _option$interactiveEf, interactiveEffect, entity;
70
75
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
71
76
  while (1) switch (_context2.prev = _context2.next) {
72
77
  case 0:
@@ -75,22 +80,32 @@ var Entity = /*#__PURE__*/function () {
75
80
  case 2:
76
81
  entityInfoArray = _context2.sent;
77
82
  targetEntityInfo = entityInfoArray[0];
83
+ _option$interactable = option.interactable, interactable = _option$interactable === void 0 ? false : _option$interactable, _option$interactiveEf = option.interactiveEffect, interactiveEffect = _option$interactiveEf === void 0 ? true : _option$interactiveEf;
78
84
  if (!(targetEntityInfo.status === 'rejected')) {
79
- _context2.next = 6;
85
+ _context2.next = 7;
80
86
  break;
81
87
  }
82
88
  throw new Error(targetEntityInfo.reason);
83
- case 6:
89
+ case 7:
84
90
  entity = targetEntityInfo.value;
85
91
  entity.tag = 'entity'; // used for event penetration identification
86
92
  entity.entityId = id;
87
93
  entity.userData.entityParams = {
88
94
  id: id,
89
95
  type: option.type,
90
- layerId: layerId
96
+ layerId: layerId,
97
+ interactable: interactable
91
98
  };
92
99
  hybridList.add(id, entity);
93
100
  group === null || group === void 0 || group.add(entity);
101
+ if (interactiveEffect) {
102
+ entity.addEventListener('mouseover', function () {
103
+ _this.select([entity]);
104
+ });
105
+ entity.addEventListener('mouseout', function () {
106
+ _this.select([]);
107
+ });
108
+ }
94
109
  return _context2.abrupt("return", _objectSpread(_objectSpread({}, option), {}, {
95
110
  id: id,
96
111
  position: entity.position.toArray(),
@@ -98,7 +113,7 @@ var Entity = /*#__PURE__*/function () {
98
113
  scale: entity.scale.toArray(),
99
114
  visible: entity.visible
100
115
  }));
101
- case 13:
116
+ case 15:
102
117
  case "end":
103
118
  return _context2.stop();
104
119
  }
@@ -112,12 +127,14 @@ var Entity = /*#__PURE__*/function () {
112
127
  }, {
113
128
  key: "multiCreate",
114
129
  value: function multiCreate(id, strategy, json) {
115
- var _this = this;
130
+ var _this2 = this;
116
131
  var itemType = json.itemType,
117
132
  _json$items = json.items,
118
133
  items = _json$items === void 0 ? [] : _json$items,
119
134
  _json$legends = json.legends,
120
- legends = _json$legends === void 0 ? [] : _json$legends;
135
+ legends = _json$legends === void 0 ? [] : _json$legends,
136
+ _json$interactable = json.interactable,
137
+ interactable = _json$interactable === void 0 ? false : _json$interactable;
121
138
  var group = new Group();
122
139
 
123
140
  // TODO 优化,定制化非实体逻辑
@@ -135,7 +152,7 @@ var Entity = /*#__PURE__*/function () {
135
152
  }
136
153
  currentData.type = itemType;
137
154
  _context3.next = 5;
138
- return _this.singleCreate(item.id, strategy, currentData, group, id);
155
+ return _this2.singleCreate(item.id, strategy, currentData, group, id);
139
156
  case 5:
140
157
  case "end":
141
158
  return _context3.stop();
@@ -149,7 +166,8 @@ var Entity = /*#__PURE__*/function () {
149
166
  group.userData.entityParams = {
150
167
  id: id,
151
168
  type: 'layer',
152
- itemType: itemType
169
+ itemType: itemType,
170
+ interactable: interactable
153
171
  };
154
172
  hybridList.add(id, group);
155
173
  use.useScene().scene.add(group);
@@ -171,23 +189,23 @@ var Entity = /*#__PURE__*/function () {
171
189
  key: "create",
172
190
  value: (function () {
173
191
  var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(json) {
174
- var _this2 = this;
175
- var id, type, itemType, asyncTask;
192
+ var _this3 = this;
193
+ var id, type, itemType, _json$interactable2, interactable, asyncTask;
176
194
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
177
195
  while (1) switch (_context5.prev = _context5.next) {
178
196
  case 0:
179
- id = json.id, type = json.type, itemType = json.itemType;
197
+ id = json.id, type = json.type, itemType = json.itemType, _json$interactable2 = json.interactable, interactable = _json$interactable2 === void 0 ? false : _json$interactable2;
180
198
  asyncTask = Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
181
199
  var strategy, res;
182
200
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
183
201
  while (1) switch (_context4.prev = _context4.next) {
184
202
  case 0:
185
203
  _context4.next = 2;
186
- return _this2.registerStrategy(itemType || type);
204
+ return _this3.registerStrategy(itemType || type);
187
205
  case 2:
188
206
  strategy = _context4.sent;
189
- if (itemType && type === 'layer') res = _this2.multiCreate(id, strategy, json);else res = _this2.singleCreate(id, strategy, json);
190
- return _context4.abrupt("return", _this2.handleResult(id, res));
207
+ if (itemType && type === 'layer') res = _this3.multiCreate(id, strategy, json);else res = _this3.singleCreate(id, strategy, json);
208
+ return _context4.abrupt("return", _this3.handleResult(id, res, interactable));
191
209
  case 5:
192
210
  case "end":
193
211
  return _context4.stop();
@@ -262,7 +280,7 @@ var Entity = /*#__PURE__*/function () {
262
280
  }, {
263
281
  key: "multiUpdate",
264
282
  value: function multiUpdate(id, strategy, option) {
265
- var _this3 = this;
283
+ var _this4 = this;
266
284
  var group = hybridList.get(id);
267
285
  var items = option.items,
268
286
  legends = option.legends,
@@ -282,14 +300,14 @@ var Entity = /*#__PURE__*/function () {
282
300
  break;
283
301
  }
284
302
  _context7.next = 5;
285
- return _this3.singleUpdate(item.id, strategy, currentItem, group);
303
+ return _this4.singleUpdate(item.id, strategy, currentItem, group);
286
304
  case 5:
287
305
  _context7.next = 10;
288
306
  break;
289
307
  case 7:
290
308
  currentItem.type = itemType;
291
309
  _context7.next = 10;
292
- return _this3.singleCreate(item.id, strategy, currentItem, group);
310
+ return _this4.singleCreate(item.id, strategy, currentItem, group);
293
311
  case 10:
294
312
  case "end":
295
313
  return _context7.stop();
@@ -318,12 +336,12 @@ var Entity = /*#__PURE__*/function () {
318
336
  key: "update",
319
337
  value: (function () {
320
338
  var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(json) {
321
- var _this4 = this;
322
- var id;
339
+ var _this5 = this;
340
+ var id, _json$interactable3, interactable;
323
341
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
324
342
  while (1) switch (_context9.prev = _context9.next) {
325
343
  case 0:
326
- id = json.id;
344
+ id = json.id, _json$interactable3 = json.interactable, interactable = _json$interactable3 === void 0 ? false : _json$interactable3;
327
345
  Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
328
346
  var target, _target$userData$enti2, type, itemType, strategy, res;
329
347
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
@@ -332,13 +350,13 @@ var Entity = /*#__PURE__*/function () {
332
350
  target = hybridList.get(id);
333
351
  _target$userData$enti2 = target.userData.entityParams, type = _target$userData$enti2.type, itemType = _target$userData$enti2.itemType;
334
352
  _context8.next = 4;
335
- return _this4.registerStrategy(itemType || type);
353
+ return _this5.registerStrategy(itemType || type);
336
354
  case 4:
337
355
  strategy = _context8.sent;
338
- if (itemType && type === 'layer') res = Promise.all(_this4.multiUpdate(id, strategy, _objectSpread({
356
+ if (itemType && type === 'layer') res = Promise.all(_this5.multiUpdate(id, strategy, _objectSpread({
339
357
  itemType: itemType
340
- }, json)));else res = _this4.singleUpdate(id, strategy, json);
341
- _this4.handleResult(id, res);
358
+ }, json)));else res = _this5.singleUpdate(id, strategy, json);
359
+ _this5.handleResult(id, res, interactable);
342
360
  case 7:
343
361
  case "end":
344
362
  return _context8.stop();
@@ -361,12 +379,12 @@ var Entity = /*#__PURE__*/function () {
361
379
  key: "execute",
362
380
  value: function () {
363
381
  var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(json) {
364
- var _this5 = this;
365
- var id, method, args;
382
+ var _this6 = this;
383
+ var id, method, args, _json$interactable4, interactable;
366
384
  return _regeneratorRuntime().wrap(function _callee11$(_context11) {
367
385
  while (1) switch (_context11.prev = _context11.next) {
368
386
  case 0:
369
- id = json.id, method = json.method, args = json.args;
387
+ id = json.id, method = json.method, args = json.args, _json$interactable4 = json.interactable, interactable = _json$interactable4 === void 0 ? false : _json$interactable4;
370
388
  if (id && method) {
371
389
  Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
372
390
  var target, type, strategy, entityInfoArray, targetEntityInfo, entity;
@@ -376,7 +394,7 @@ var Entity = /*#__PURE__*/function () {
376
394
  target = hybridList.get(id);
377
395
  type = target.userData.entityParams.type;
378
396
  _context10.next = 4;
379
- return _this5.registerStrategy(type);
397
+ return _this6.registerStrategy(type);
380
398
  case 4:
381
399
  strategy = _context10.sent;
382
400
  _context10.next = 7;
@@ -392,13 +410,13 @@ var Entity = /*#__PURE__*/function () {
392
410
  case 11:
393
411
  entity = targetEntityInfo.value;
394
412
  hybridList.update(id, entity);
395
- _this5.handleResult(id, _objectSpread(_objectSpread({}, json), {}, {
413
+ _this6.handleResult(id, _objectSpread(_objectSpread({}, json), {}, {
396
414
  id: id,
397
415
  position: entity.position.toArray(),
398
416
  rotation: entity.rotation.toArray(),
399
417
  scale: entity.scale.toArray(),
400
418
  visible: entity.visible
401
- }));
419
+ }), interactable);
402
420
  case 14:
403
421
  case "end":
404
422
  return _context10.stop();
@@ -426,7 +444,8 @@ var Entity = /*#__PURE__*/function () {
426
444
  }, {
427
445
  key: "handleResult",
428
446
  value: (function () {
429
- var _handleResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(id, res) {
447
+ var _handleResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(id, res, interactable) {
448
+ var _this7 = this;
430
449
  return _regeneratorRuntime().wrap(function _callee12$(_context12) {
431
450
  while (1) switch (_context12.prev = _context12.next) {
432
451
  case 0:
@@ -450,6 +469,15 @@ var Entity = /*#__PURE__*/function () {
450
469
  id: id,
451
470
  success: false
452
471
  });
472
+ }).finally(function () {
473
+ _this7.app.eventBus.eventMap.forEach(function (_, key) {
474
+ if (entityEvents.includes(key) && interactable) {
475
+ _this7.registerEvents({
476
+ eventName: key,
477
+ entityId: id
478
+ });
479
+ }
480
+ });
453
481
  }));
454
482
  case 1:
455
483
  case "end":
@@ -457,7 +485,7 @@ var Entity = /*#__PURE__*/function () {
457
485
  }
458
486
  }, _callee12);
459
487
  }));
460
- function handleResult(_x16, _x17) {
488
+ function handleResult(_x16, _x17, _x18) {
461
489
  return _handleResult.apply(this, arguments);
462
490
  }
463
491
  return handleResult;
@@ -545,6 +573,10 @@ var Entity = /*#__PURE__*/function () {
545
573
  var realEventName = eventName.slice(2).toLowerCase();
546
574
  var target = hybridList.get(id);
547
575
  if (!target) throw new Error("entity ".concat(id, " is not exist"));
576
+ this.unregisterEvents({
577
+ eventName: realEventName,
578
+ entityId: id
579
+ });
548
580
 
549
581
  // @ts-ignore
550
582
  if (eventPenetrateType.includes(target.entityType)) {
@@ -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","Group","use","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","entityInfoArray","targetEntityInfo","entity","_callee2$","_context2","allSettled","status","reason","tag","entityId","userData","entityParams","add","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this","itemType","_json$items","items","_json$legends","legends","_ref","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","useScene","scene","_create","_callee5","_this2","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_target$userData$enti","_callee6$","_context6","get","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this3","_ref3","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this4","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this5","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_callee12$","_context12","messageType","Event","messageName","Success","global","success","_x16","_x17","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref6","has","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","includes","closestMesh","newClosestMesh","minimumEntity","targetId","addEventListener","unregisterEvents","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use } from '@anov/3d-core'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n app: Anov3D\n catchStrategy: Map<string, any> = new Map()\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n return new strategyClass()\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId }\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [] } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n return this.handleResult(id, res)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const { entityParams = {} } = target.userData\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n })\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = (e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n }\n\n target.addEventListener('click', target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = (e) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n }\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"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","Group","use","createHighSelectedTool","MessageType","sendToMessage","EMessageStatus","entityEvents","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","select","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","_this","entityInfoArray","targetEntityInfo","_option$interactable","interactable","_option$interactiveEf","interactiveEffect","entity","_callee2$","_context2","allSettled","status","reason","tag","entityId","userData","entityParams","add","addEventListener","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this2","itemType","_json$items","items","_json$legends","legends","_json$interactable","_ref","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","useScene","scene","_create","_callee5","_this3","_json$interactable2","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_target$userData$enti","_callee6$","_context6","get","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this4","_ref3","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this5","_json$interactable3","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this6","_json$interactable4","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_this7","_callee12$","_context12","messageType","Event","messageName","Success","global","success","finally","eventBus","eventMap","_","includes","registerEvents","eventName","_x16","_x17","_x18","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref6","has","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","opts","realEventName","toLowerCase","unregisterEvents","closestMesh","newClosestMesh","minimumEntity","targetId","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use } from '@anov/3d-core'\nimport { createHighSelectedTool } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport { entityEvents } from '../eventBus/entityEvents'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n app: Anov3D\n catchStrategy: Map<string, any> = new Map()\n select: any\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool()\n this.app = app\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n return new strategyClass()\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n const { interactable = false, interactiveEffect = true } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId, interactable }\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect) {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [], interactable = false } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType, interactable }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType, interactable = false } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res, interactable)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const { entityParams = {} } = target.userData\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id, interactable = false } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res, interactable)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args, interactable = false } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }, interactable)\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any, interactable: boolean) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n .finally(() => {\n this.app.eventBus.eventMap.forEach((_, key) => {\n if (entityEvents.includes(key) && interactable) {\n this.registerEvents({\n eventName: key,\n entityId: id,\n })\n }\n })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n this.unregisterEvents({\n eventName: realEventName,\n entityId: id,\n })\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = (e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n }\n\n target.addEventListener('click', target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = (e) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n }\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":"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"}
@@ -12,17 +12,31 @@ var Environment = /*#__PURE__*/function () {
12
12
  _classCallCheck(this, Environment);
13
13
  _defineProperty(this, "app", void 0);
14
14
  _defineProperty(this, "weatherSystem", void 0);
15
+ _defineProperty(this, "isOpen", true);
15
16
  this.app = app;
16
17
  this.weatherSystem = new WeatherSystem();
17
18
  use.useScene().scene.add(this.weatherSystem);
18
19
  }
19
-
20
- /**
21
- * set time
22
- * @param newTime
23
- * @param changeTime
24
- */
25
20
  _createClass(Environment, [{
21
+ key: "close",
22
+ value: function close() {
23
+ this.isOpen = false;
24
+ this.weatherSystem.removeFromParent();
25
+ }
26
+ }, {
27
+ key: "open",
28
+ value: function open() {
29
+ if (this.isOpen) return;
30
+ this.isOpen = true;
31
+ use.useScene().scene.add(this.weatherSystem);
32
+ }
33
+
34
+ /**
35
+ * set time
36
+ * @param newTime
37
+ * @param changeTime
38
+ */
39
+ }, {
26
40
  key: "setTime",
27
41
  value: function setTime(params) {
28
42
  this.weatherSystem.setTime(params.time);
@@ -1 +1 @@
1
- {"version":3,"names":["use","WeatherSystem","Environment","app","_classCallCheck","_defineProperty","weatherSystem","useScene","scene","add","_createClass","key","value","setTime","params","time","newTime","setWeather","weather","getTime","getWeather"],"sources":["../../../src/module/environment/index.ts"],"sourcesContent":["import { use } from '@anov/3d-core'\nimport { WeatherSystem } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\n\nclass Environment implements BaseModule {\n app: Anov3D\n weatherSystem: WeatherSystem\n\n constructor(app: Anov3D) {\n this.app = app\n this.weatherSystem = new WeatherSystem()\n\n use.useScene().scene.add(this.weatherSystem)\n }\n\n /**\n * set time\n * @param newTime\n * @param changeTime\n */\n setTime(params: { time: string; duration?: number }) {\n this.weatherSystem.setTime(params.time)\n\n return {\n newTime: params.time,\n }\n }\n\n /**\n * set weather\n * @param type\n * @param changeTime\n */\n setWeather(params: { weather: string; duration?: number }) {\n this.weatherSystem.setWeather(params.weather)\n\n return {\n weather: params.weather,\n }\n }\n\n /**\n * get time\n * @returns\n */\n getTime() {\n return {\n time: this.weatherSystem.time,\n }\n }\n\n /**\n * get weather\n * @returns\n */\n getWeather() {\n return {\n weather: this.weatherSystem.weather,\n }\n }\n}\n\nexport default Environment"],"mappings":";;;;;;;AAAA,SAASA,GAAG,QAAQ,eAAe;AACnC,SAASC,aAAa,QAAQ,kBAAkB;AAAA,IAI1CC,WAAW;EAIf,SAAAA,YAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,WAAA;IAAAG,eAAA;IAAAA,eAAA;IACvB,IAAI,CAACF,GAAG,GAAGA,GAAG;IACd,IAAI,CAACG,aAAa,GAAG,IAAIL,aAAa,CAAC,CAAC;IAExCD,GAAG,CAACO,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,IAAI,CAACH,aAAa,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;AACA;EAJEI,YAAA,CAAAR,WAAA;IAAAS,GAAA;IAAAC,KAAA,EAKA,SAAAC,QAAQC,MAA2C,EAAE;MACnD,IAAI,CAACR,aAAa,CAACO,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC;MAEvC,OAAO;QACLC,OAAO,EAAEF,MAAM,CAACC;MAClB,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAJ,GAAA;IAAAC,KAAA,EAKA,SAAAK,WAAWH,MAA8C,EAAE;MACzD,IAAI,CAACR,aAAa,CAACW,UAAU,CAACH,MAAM,CAACI,OAAO,CAAC;MAE7C,OAAO;QACLA,OAAO,EAAEJ,MAAM,CAACI;MAClB,CAAC;IACH;;IAEA;AACF;AACA;AACA;EAHE;IAAAP,GAAA;IAAAC,KAAA,EAIA,SAAAO,QAAA,EAAU;MACR,OAAO;QACLJ,IAAI,EAAE,IAAI,CAACT,aAAa,CAACS;MAC3B,CAAC;IACH;;IAEA;AACF;AACA;AACA;EAHE;IAAAJ,GAAA;IAAAC,KAAA,EAIA,SAAAQ,WAAA,EAAa;MACX,OAAO;QACLF,OAAO,EAAE,IAAI,CAACZ,aAAa,CAACY;MAC9B,CAAC;IACH;EAAC;EAAA,OAAAhB,WAAA;AAAA;AAGH,eAAeA,WAAW"}
1
+ {"version":3,"names":["use","WeatherSystem","Environment","app","_classCallCheck","_defineProperty","weatherSystem","useScene","scene","add","_createClass","key","value","close","isOpen","removeFromParent","open","setTime","params","time","newTime","setWeather","weather","getTime","getWeather"],"sources":["../../../src/module/environment/index.ts"],"sourcesContent":["import { use } from '@anov/3d-core'\nimport { WeatherSystem } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\n\nclass Environment implements BaseModule {\n app: Anov3D\n weatherSystem: WeatherSystem\n isOpen = true\n\n constructor(app: Anov3D) {\n this.app = app\n this.weatherSystem = new WeatherSystem()\n\n use.useScene().scene.add(this.weatherSystem)\n }\n\n close() {\n this.isOpen = false\n this.weatherSystem.removeFromParent()\n }\n\n open() {\n if (this.isOpen)\n return\n\n this.isOpen = true\n use.useScene().scene.add(this.weatherSystem)\n }\n\n /**\n * set time\n * @param newTime\n * @param changeTime\n */\n setTime(params: { time: string; duration?: number }) {\n this.weatherSystem.setTime(params.time)\n\n return {\n newTime: params.time,\n }\n }\n\n /**\n * set weather\n * @param type\n * @param changeTime\n */\n setWeather(params: { weather: string; duration?: number }) {\n this.weatherSystem.setWeather(params.weather)\n\n return {\n weather: params.weather,\n }\n }\n\n /**\n * get time\n * @returns\n */\n getTime() {\n return {\n time: this.weatherSystem.time,\n }\n }\n\n /**\n * get weather\n * @returns\n */\n getWeather() {\n return {\n weather: this.weatherSystem.weather,\n }\n }\n}\n\nexport default Environment"],"mappings":";;;;;;;AAAA,SAASA,GAAG,QAAQ,eAAe;AACnC,SAASC,aAAa,QAAQ,kBAAkB;AAAA,IAI1CC,WAAW;EAKf,SAAAA,YAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,WAAA;IAAAG,eAAA;IAAAA,eAAA;IAAAA,eAAA,iBAFhB,IAAI;IAGX,IAAI,CAACF,GAAG,GAAGA,GAAG;IACd,IAAI,CAACG,aAAa,GAAG,IAAIL,aAAa,CAAC,CAAC;IAExCD,GAAG,CAACO,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,IAAI,CAACH,aAAa,CAAC;EAC9C;EAACI,YAAA,CAAAR,WAAA;IAAAS,GAAA;IAAAC,KAAA,EAED,SAAAC,MAAA,EAAQ;MACN,IAAI,CAACC,MAAM,GAAG,KAAK;MACnB,IAAI,CAACR,aAAa,CAACS,gBAAgB,CAAC,CAAC;IACvC;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAI,KAAA,EAAO;MACL,IAAI,IAAI,CAACF,MAAM,EACb;MAEF,IAAI,CAACA,MAAM,GAAG,IAAI;MAClBd,GAAG,CAACO,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,IAAI,CAACH,aAAa,CAAC;IAC9C;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAK,GAAA;IAAAC,KAAA,EAKA,SAAAK,QAAQC,MAA2C,EAAE;MACnD,IAAI,CAACZ,aAAa,CAACW,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC;MAEvC,OAAO;QACLC,OAAO,EAAEF,MAAM,CAACC;MAClB,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAR,GAAA;IAAAC,KAAA,EAKA,SAAAS,WAAWH,MAA8C,EAAE;MACzD,IAAI,CAACZ,aAAa,CAACe,UAAU,CAACH,MAAM,CAACI,OAAO,CAAC;MAE7C,OAAO;QACLA,OAAO,EAAEJ,MAAM,CAACI;MAClB,CAAC;IACH;;IAEA;AACF;AACA;AACA;EAHE;IAAAX,GAAA;IAAAC,KAAA,EAIA,SAAAW,QAAA,EAAU;MACR,OAAO;QACLJ,IAAI,EAAE,IAAI,CAACb,aAAa,CAACa;MAC3B,CAAC;IACH;;IAEA;AACF;AACA;AACA;EAHE;IAAAR,GAAA;IAAAC,KAAA,EAIA,SAAAY,WAAA,EAAa;MACX,OAAO;QACLF,OAAO,EAAE,IAAI,CAAChB,aAAa,CAACgB;MAC9B,CAAC;IACH;EAAC;EAAA,OAAApB,WAAA;AAAA;AAGH,eAAeA,WAAW"}
@@ -0,0 +1,2 @@
1
+ export var entityEvents = ['onClick', 'onDblClick', 'onContextmenu', 'onMousedown', 'onMouseup', 'onMouseover', 'onMouseout'];
2
+ //# sourceMappingURL=entityEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["entityEvents"],"sources":["../../../src/module/eventBus/entityEvents.ts"],"sourcesContent":["export const entityEvents = [\n 'onClick',\n 'onDblClick',\n 'onContextmenu',\n 'onMousedown',\n 'onMouseup',\n 'onMouseover',\n 'onMouseout',\n]"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG,CAC1B,SAAS,EACT,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,CACb"}
@@ -5,6 +5,8 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import { hybridList } from "../entity";
9
+
8
10
  /**
9
11
  * notes: 区别于前端概念,3端统一API特定
10
12
  */
@@ -23,6 +25,7 @@ var EventBus = /*#__PURE__*/function () {
23
25
  _createClass(EventBus, [{
24
26
  key: "on",
25
27
  value: function on(params) {
28
+ var _this = this;
26
29
  if (params.id) {
27
30
  // @ts-ignore
28
31
  this.app.entity.registerEvents({
@@ -35,6 +38,16 @@ var EventBus = /*#__PURE__*/function () {
35
38
  };
36
39
  } else {
37
40
  this.eventMap.set("".concat(params.eventName), true);
41
+ if (hybridList.map.size > 0) {
42
+ hybridList.map.forEach(function (entity, key) {
43
+ var _entity$value$userDat;
44
+ // @ts-ignore
45
+ ((_entity$value$userDat = entity.value.userData) === null || _entity$value$userDat === void 0 || (_entity$value$userDat = _entity$value$userDat.entityParams) === null || _entity$value$userDat === void 0 ? void 0 : _entity$value$userDat.interactable) && _this.app.entity.registerEvents({
46
+ eventName: params.eventName,
47
+ entityId: key
48
+ });
49
+ });
50
+ }
38
51
  return {
39
52
  eventName: params.eventName
40
53
  };
@@ -1 +1 @@
1
- {"version":3,"names":["EventBus","app","_classCallCheck","_defineProperty","Map","_createClass","key","value","on","params","id","entity","registerEvents","eventName","entityId","eventMap","set","concat","off","unregisterEvents"],"sources":["../../../src/module/eventBus/index.ts"],"sourcesContent":["import type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\n\n/**\n * notes: 区别于前端概念,3端统一API特定\n */\n\nclass EventBus implements BaseModule {\n eventMap: Map<string, boolean> = new Map()\n app: Anov3D\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * open event\n * @param params\n */\n on(params: { eventName: string; id?: string }) {\n if (params.id) {\n // @ts-ignore\n this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: params.id,\n })\n return {\n eventName: params.eventName,\n id: params.id,\n }\n }\n else {\n this.eventMap.set(`${params.eventName}`, true)\n return {\n eventName: params.eventName,\n }\n }\n }\n\n off(params: { eventName: string; entityId?: string }) {\n if (params.entityId) {\n // @ts-ignore\n this.app.entity.unregisterEvents({\n eventName: params.eventName,\n entityId: params.entityId,\n })\n }\n else {\n this.eventMap.set(`${params.eventName}`, false)\n }\n\n return {\n eventName: params.eventName,\n }\n }\n}\n\nexport default EventBus"],"mappings":";;;;;;;AAGA;AACA;AACA;AAFA,IAIMA,QAAQ;EAIZ,SAAAA,SAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,QAAA;IAAAG,eAAA,mBAHQ,IAAIC,GAAG,CAAC,CAAC;IAAAD,eAAA;IAIxC,IAAI,CAACF,GAAG,GAAGA,GAAG;EAChB;;EAEA;AACF;AACA;AACA;EAHEI,YAAA,CAAAL,QAAA;IAAAM,GAAA;IAAAC,KAAA,EAIA,SAAAC,GAAGC,MAA0C,EAAE;MAC7C,IAAIA,MAAM,CAACC,EAAE,EAAE;QACb;QACA,IAAI,CAACT,GAAG,CAACU,MAAM,CAACC,cAAc,CAAC;UAC7BC,SAAS,EAAEJ,MAAM,CAACI,SAAS;UAC3BC,QAAQ,EAAEL,MAAM,CAACC;QACnB,CAAC,CAAC;QACF,OAAO;UACLG,SAAS,EAAEJ,MAAM,CAACI,SAAS;UAC3BH,EAAE,EAAED,MAAM,CAACC;QACb,CAAC;MACH,CAAC,MACI;QACH,IAAI,CAACK,QAAQ,CAACC,GAAG,IAAAC,MAAA,CAAIR,MAAM,CAACI,SAAS,GAAI,IAAI,CAAC;QAC9C,OAAO;UACLA,SAAS,EAAEJ,MAAM,CAACI;QACpB,CAAC;MACH;IACF;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAW,IAAIT,MAAgD,EAAE;MACpD,IAAIA,MAAM,CAACK,QAAQ,EAAE;QACnB;QACA,IAAI,CAACb,GAAG,CAACU,MAAM,CAACQ,gBAAgB,CAAC;UAC/BN,SAAS,EAAEJ,MAAM,CAACI,SAAS;UAC3BC,QAAQ,EAAEL,MAAM,CAACK;QACnB,CAAC,CAAC;MACJ,CAAC,MACI;QACH,IAAI,CAACC,QAAQ,CAACC,GAAG,IAAAC,MAAA,CAAIR,MAAM,CAACI,SAAS,GAAI,KAAK,CAAC;MACjD;MAEA,OAAO;QACLA,SAAS,EAAEJ,MAAM,CAACI;MACpB,CAAC;IACH;EAAC;EAAA,OAAAb,QAAA;AAAA;AAGH,eAAeA,QAAQ"}
1
+ {"version":3,"names":["hybridList","EventBus","app","_classCallCheck","_defineProperty","Map","_createClass","key","value","on","params","_this","id","entity","registerEvents","eventName","entityId","eventMap","set","concat","map","size","forEach","_entity$value$userDat","userData","entityParams","interactable","off","unregisterEvents"],"sources":["../../../src/module/eventBus/index.ts"],"sourcesContent":["import type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\n\n/**\n * notes: 区别于前端概念,3端统一API特定\n */\n\nclass EventBus implements BaseModule {\n eventMap: Map<string, boolean> = new Map()\n app: Anov3D\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * open event\n * @param params\n */\n on(params: { eventName: string; id?: string }) {\n if (params.id) {\n // @ts-ignore\n this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: params.id,\n })\n return {\n eventName: params.eventName,\n id: params.id,\n }\n }\n else {\n this.eventMap.set(`${params.eventName}`, true)\n\n if (hybridList.map.size > 0) {\n hybridList.map.forEach((entity, key) => {\n // @ts-ignore\n entity.value.userData?.entityParams?.interactable && this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: key,\n })\n })\n }\n\n return {\n eventName: params.eventName,\n }\n }\n }\n\n off(params: { eventName: string; entityId?: string }) {\n if (params.entityId) {\n // @ts-ignore\n this.app.entity.unregisterEvents({\n eventName: params.eventName,\n entityId: params.entityId,\n })\n }\n else {\n this.eventMap.set(`${params.eventName}`, false)\n }\n\n return {\n eventName: params.eventName,\n }\n }\n}\n\nexport default EventBus"],"mappings":";;;;;;;AAEA,SAASA,UAAU;;AAEnB;AACA;AACA;AAFA,IAIMC,QAAQ;EAIZ,SAAAA,SAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,QAAA;IAAAG,eAAA,mBAHQ,IAAIC,GAAG,CAAC,CAAC;IAAAD,eAAA;IAIxC,IAAI,CAACF,GAAG,GAAGA,GAAG;EAChB;;EAEA;AACF;AACA;AACA;EAHEI,YAAA,CAAAL,QAAA;IAAAM,GAAA;IAAAC,KAAA,EAIA,SAAAC,GAAGC,MAA0C,EAAE;MAAA,IAAAC,KAAA;MAC7C,IAAID,MAAM,CAACE,EAAE,EAAE;QACb;QACA,IAAI,CAACV,GAAG,CAACW,MAAM,CAACC,cAAc,CAAC;UAC7BC,SAAS,EAAEL,MAAM,CAACK,SAAS;UAC3BC,QAAQ,EAAEN,MAAM,CAACE;QACnB,CAAC,CAAC;QACF,OAAO;UACLG,SAAS,EAAEL,MAAM,CAACK,SAAS;UAC3BH,EAAE,EAAEF,MAAM,CAACE;QACb,CAAC;MACH,CAAC,MACI;QACH,IAAI,CAACK,QAAQ,CAACC,GAAG,IAAAC,MAAA,CAAIT,MAAM,CAACK,SAAS,GAAI,IAAI,CAAC;QAE9C,IAAIf,UAAU,CAACoB,GAAG,CAACC,IAAI,GAAG,CAAC,EAAE;UAC3BrB,UAAU,CAACoB,GAAG,CAACE,OAAO,CAAC,UAACT,MAAM,EAAEN,GAAG,EAAK;YAAA,IAAAgB,qBAAA;YACtC;YACA,EAAAA,qBAAA,GAAAV,MAAM,CAACL,KAAK,CAACgB,QAAQ,cAAAD,qBAAA,gBAAAA,qBAAA,GAArBA,qBAAA,CAAuBE,YAAY,cAAAF,qBAAA,uBAAnCA,qBAAA,CAAqCG,YAAY,KAAIf,KAAI,CAACT,GAAG,CAACW,MAAM,CAACC,cAAc,CAAC;cAClFC,SAAS,EAAEL,MAAM,CAACK,SAAS;cAC3BC,QAAQ,EAAET;YACZ,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ;QAEA,OAAO;UACLQ,SAAS,EAAEL,MAAM,CAACK;QACpB,CAAC;MACH;IACF;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAmB,IAAIjB,MAAgD,EAAE;MACpD,IAAIA,MAAM,CAACM,QAAQ,EAAE;QACnB;QACA,IAAI,CAACd,GAAG,CAACW,MAAM,CAACe,gBAAgB,CAAC;UAC/Bb,SAAS,EAAEL,MAAM,CAACK,SAAS;UAC3BC,QAAQ,EAAEN,MAAM,CAACM;QACnB,CAAC,CAAC;MACJ,CAAC,MACI;QACH,IAAI,CAACC,QAAQ,CAACC,GAAG,IAAAC,MAAA,CAAIT,MAAM,CAACK,SAAS,GAAI,KAAK,CAAC;MACjD;MAEA,OAAO;QACLA,SAAS,EAAEL,MAAM,CAACK;MACpB,CAAC;IACH;EAAC;EAAA,OAAAd,QAAA;AAAA;AAGH,eAAeA,QAAQ"}
@@ -1,4 +1,10 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
2
8
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
10
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -9,6 +15,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
9
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
16
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
17
  import { use, utils } from '@anov/3d-core';
18
+ import { MaterialSwitchSystem } from '@anov/3d-ability';
12
19
  import { MessageType, sendToMessage } from "../../utils/messageFn";
13
20
  import { EMessageStatus } from "../../messageStatus";
14
21
  import { hybridList } from "../entity/index";
@@ -19,6 +26,7 @@ export var Scene = /*#__PURE__*/function () {
19
26
  _classCallCheck(this, Scene);
20
27
  _defineProperty(this, "app", void 0);
21
28
  _defineProperty(this, "sccParse", void 0);
29
+ _defineProperty(this, "materialSwitchSystem", void 0);
22
30
  this.app = app;
23
31
  this.sccParse = new FileParse(this.app);
24
32
  }
@@ -140,6 +148,27 @@ export var Scene = /*#__PURE__*/function () {
140
148
  throw new Error('参数格式错误');
141
149
  }
142
150
  }
151
+ }, {
152
+ key: "changeStyle",
153
+ value: function changeStyle(params) {
154
+ var style = params.style;
155
+ var models = _toConsumableArray(hybridList.map.values()).filter(function (item) {
156
+ return item.value.userData.entityParams.type === 'model';
157
+ }).map(function (item) {
158
+ return item.value;
159
+ });
160
+ if (!this.materialSwitchSystem) {
161
+ this.materialSwitchSystem = new MaterialSwitchSystem(models);
162
+ this.materialSwitchSystem.generate();
163
+ use.useScene().scene.add(this.materialSwitchSystem);
164
+ }
165
+ this.materialSwitchSystem.switchType(style);
166
+ if (style === 'Real')
167
+ // @ts-ignore
168
+ this.app.environment.open();else
169
+ // @ts-ignore
170
+ this.app.environment.close();
171
+ }
143
172
  }, {
144
173
  key: "setScaleRatio",
145
174
  value: function setScaleRatio(params) {
@@ -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","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","use","utils","MessageType","sendToMessage","EMessageStatus","hybridList","FileParse","emitter","Scene","app","sccParse","_init","_callee","params","_callee$","_context","handleScene","init","_x","_switch2","_callee2","_callee2$","_context2","clear","_switch","_x2","_handleScene","_callee3","action","scc","data","_callee3$","_context3","parseScene","off","messageType","Event","messageName","status","EventHandleFailed","Success","global","progress","state","t0","console","concat","_x3","_x4","destroy","_this$app$sceneContro","sceneControl","setSize","width","height","_use$useScene","useScene","camera","renderer","aspectRatio","aspect","updateProjectionMatrix","setScaleRatio"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import { use, utils } from '@anov/3d-core'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity/index'\nimport FileParse from './fileParse'\n\nconst { emitter } = utils\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private sccParse: FileParse\n\n constructor(app: Anov3D) {\n this.app = app\n this.sccParse = new FileParse(this.app)\n }\n\n async init(params) {\n this.handleScene(params, 'scene.init')\n return params\n }\n\n async switch(params) {\n hybridList.clear() // todo 需要处理多场景切换、多场景实例等问题\n this.handleScene(params, 'scene.switch')\n return params\n }\n\n // 统一的处理函数\n async handleScene(params, action) {\n try {\n const { scc } = params\n const data = await this.sccParse.parseScene(scc, action)\n\n emitter.off('model-loading-progress')\n // 发送加载结果消息\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: data === false ? EMessageStatus.EventHandleFailed : EMessageStatus.Success,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n catch (error) {\n console.error(`Error during scene ${action}:`, error)\n emitter.off('model-loading-progress')\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.EventHandleFailed,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n }\n\n destroy() {\n this.app.sceneControl?.destroy()\n return true\n }\n\n setSize(params: { width?: number; height?: number }) {\n const { width, height } = params\n\n if (width && height) {\n const { camera, renderer } = use.useScene()\n const aspectRatio = width / height\n\n camera.aspect = aspectRatio\n camera.updateProjectionMatrix()\n renderer.setSize(width, height)\n return params\n }\n else {\n throw new Error('参数格式错误')\n }\n }\n\n setScaleRatio(params) {\n return params\n }\n}\n"],"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","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","use","utils","MaterialSwitchSystem","MessageType","sendToMessage","EMessageStatus","hybridList","FileParse","emitter","Scene","app","sccParse","_init","_callee","params","_callee$","_context","handleScene","init","_x","_switch2","_callee2","_callee2$","_context2","clear","_switch","_x2","_handleScene","_callee3","action","scc","data","_callee3$","_context3","parseScene","off","messageType","Event","messageName","status","EventHandleFailed","Success","global","progress","state","t0","console","concat","_x3","_x4","destroy","_this$app$sceneContro","sceneControl","setSize","width","height","_use$useScene","useScene","camera","renderer","aspectRatio","aspect","updateProjectionMatrix","changeStyle","style","models","_toConsumableArray","map","filter","item","userData","entityParams","materialSwitchSystem","generate","scene","add","switchType","environment","open","close","setScaleRatio"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import { use, utils } from '@anov/3d-core'\nimport { MaterialSwitchSystem } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity/index'\nimport FileParse from './fileParse'\n\nconst { emitter } = utils\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private sccParse: FileParse\n\n private materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.app = app\n this.sccParse = new FileParse(this.app)\n }\n\n async init(params) {\n this.handleScene(params, 'scene.init')\n return params\n }\n\n async switch(params) {\n hybridList.clear() // todo 需要处理多场景切换、多场景实例等问题\n this.handleScene(params, 'scene.switch')\n return params\n }\n\n // 统一的处理函数\n async handleScene(params, action) {\n try {\n const { scc } = params\n const data = await this.sccParse.parseScene(scc, action)\n\n emitter.off('model-loading-progress')\n // 发送加载结果消息\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: data === false ? EMessageStatus.EventHandleFailed : EMessageStatus.Success,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n catch (error) {\n console.error(`Error during scene ${action}:`, error)\n emitter.off('model-loading-progress')\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.EventHandleFailed,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n }\n\n destroy() {\n this.app.sceneControl?.destroy()\n return true\n }\n\n setSize(params: { width?: number; height?: number }) {\n const { width, height } = params\n\n if (width && height) {\n const { camera, renderer } = use.useScene()\n const aspectRatio = width / height\n\n camera.aspect = aspectRatio\n camera.updateProjectionMatrix()\n renderer.setSize(width, height)\n return params\n }\n else {\n throw new Error('参数格式错误')\n }\n }\n\n changeStyle(params) {\n const { style } = params\n\n const models = [...hybridList.map.values()].filter(\n item => item.value.userData.entityParams.type === 'model',\n ).map(item => item.value)\n\n if (!this.materialSwitchSystem) {\n this.materialSwitchSystem = new MaterialSwitchSystem(\n models,\n )\n\n this.materialSwitchSystem.generate()\n use.useScene().scene.add(this.materialSwitchSystem)\n }\n\n this.materialSwitchSystem.switchType(style)\n\n if (style === 'Real')\n // @ts-ignore\n this.app.environment.open()\n\n else\n // @ts-ignore\n this.app.environment.close()\n }\n\n setScaleRatio(params) {\n return params\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.189",
3
+ "version": "0.0.190",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -25,8 +25,8 @@
25
25
  "resize-observer-polyfill": "^1.5.1",
26
26
  "rxjs": "7.8.1",
27
27
  "uuid": "^9.0.1",
28
- "@anov/3d-ability": "^0.0.67",
29
- "@anov/3d-core": "^0.0.52"
28
+ "@anov/3d-ability": "^0.0.68",
29
+ "@anov/3d-core": "^0.0.53"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/uuid": "^9.0.7"