@anov/3d 0.0.188 → 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 +2 -0
- package/dist/anov3d.js.map +1 -1
- package/dist/module/entity/batch/index.js +167 -0
- package/dist/module/entity/batch/index.js.map +1 -0
- package/dist/module/entity/hybridList.js.map +1 -1
- package/dist/module/entity/index.js +65 -33
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/strategy.js +20 -0
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/environment/index.js +20 -6
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/eventBus/entityEvents.js +2 -0
- package/dist/module/eventBus/entityEvents.js.map +1 -0
- package/dist/module/eventBus/index.js +13 -0
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/scene/index.js +29 -0
- package/dist/module/scene/index.js.map +1 -1
- package/package.json +3 -3
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
|
package/dist/anov3d.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
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 _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
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
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
|
+
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); } }
|
|
7
|
+
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); }); }; }
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
10
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
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
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
14
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
15
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
17
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
19
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
20
|
+
import { CurvePath, LineCurve3, Vector3, use } from '@anov/3d-core';
|
|
21
|
+
import { Batch as BatchManage } from '@anov/3d-ability';
|
|
22
|
+
import _ from 'lodash';
|
|
23
|
+
import BaseEntity from "../baseEntity";
|
|
24
|
+
import { entityStrategy } from "../strategy";
|
|
25
|
+
var Batch = /*#__PURE__*/function (_BaseEntity) {
|
|
26
|
+
_inherits(Batch, _BaseEntity);
|
|
27
|
+
var _super = _createSuper(Batch);
|
|
28
|
+
function Batch() {
|
|
29
|
+
_classCallCheck(this, Batch);
|
|
30
|
+
return _super.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
_createClass(Batch, [{
|
|
33
|
+
key: "registerStrategy",
|
|
34
|
+
value: function () {
|
|
35
|
+
var _registerStrategy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(entityType) {
|
|
36
|
+
var strategyMap, strategyClass;
|
|
37
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
38
|
+
while (1) switch (_context.prev = _context.next) {
|
|
39
|
+
case 0:
|
|
40
|
+
strategyMap = _objectSpread({}, entityStrategy);
|
|
41
|
+
if (entityType in strategyMap) {
|
|
42
|
+
_context.next = 3;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
throw new Error("entityType ".concat(entityType, " is not supported"));
|
|
46
|
+
case 3:
|
|
47
|
+
_context.next = 5;
|
|
48
|
+
return strategyMap[entityType]();
|
|
49
|
+
case 5:
|
|
50
|
+
strategyClass = _context.sent;
|
|
51
|
+
return _context.abrupt("return", new strategyClass());
|
|
52
|
+
case 7:
|
|
53
|
+
case "end":
|
|
54
|
+
return _context.stop();
|
|
55
|
+
}
|
|
56
|
+
}, _callee);
|
|
57
|
+
}));
|
|
58
|
+
function registerStrategy(_x) {
|
|
59
|
+
return _registerStrategy.apply(this, arguments);
|
|
60
|
+
}
|
|
61
|
+
return registerStrategy;
|
|
62
|
+
}()
|
|
63
|
+
}, {
|
|
64
|
+
key: "create",
|
|
65
|
+
value: function () {
|
|
66
|
+
var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(json) {
|
|
67
|
+
var mesh, _use$useScene, scene;
|
|
68
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
69
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
70
|
+
case 0:
|
|
71
|
+
_context2.next = 2;
|
|
72
|
+
return this._createMesh(json);
|
|
73
|
+
case 2:
|
|
74
|
+
mesh = _context2.sent;
|
|
75
|
+
mesh.userData.option = json;
|
|
76
|
+
_use$useScene = use.useScene(), scene = _use$useScene.scene;
|
|
77
|
+
scene.add(mesh);
|
|
78
|
+
return _context2.abrupt("return", mesh);
|
|
79
|
+
case 7:
|
|
80
|
+
case "end":
|
|
81
|
+
return _context2.stop();
|
|
82
|
+
}
|
|
83
|
+
}, _callee2, this);
|
|
84
|
+
}));
|
|
85
|
+
function create(_x2) {
|
|
86
|
+
return _create.apply(this, arguments);
|
|
87
|
+
}
|
|
88
|
+
return create;
|
|
89
|
+
}()
|
|
90
|
+
}, {
|
|
91
|
+
key: "update",
|
|
92
|
+
value: function () {
|
|
93
|
+
var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(json, mesh) {
|
|
94
|
+
var option, mergedOption;
|
|
95
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
96
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
97
|
+
case 0:
|
|
98
|
+
option = mesh.userData.option || {};
|
|
99
|
+
mergedOption = _.mergeWith({}, option, json, this.customizer);
|
|
100
|
+
mesh.parent && mesh.removeFromParent();
|
|
101
|
+
return _context3.abrupt("return", this.create(mergedOption));
|
|
102
|
+
case 4:
|
|
103
|
+
case "end":
|
|
104
|
+
return _context3.stop();
|
|
105
|
+
}
|
|
106
|
+
}, _callee3, this);
|
|
107
|
+
}));
|
|
108
|
+
function update(_x3, _x4) {
|
|
109
|
+
return _update.apply(this, arguments);
|
|
110
|
+
}
|
|
111
|
+
return update;
|
|
112
|
+
}()
|
|
113
|
+
}, {
|
|
114
|
+
key: "_createMesh",
|
|
115
|
+
value: function () {
|
|
116
|
+
var _createMesh2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(option) {
|
|
117
|
+
var path, number, span, objectData, curvePath, strategy, entity, mesh;
|
|
118
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
119
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
120
|
+
case 0:
|
|
121
|
+
path = option.path, number = option.number, span = option.span, objectData = option.objectData;
|
|
122
|
+
curvePath = this._getCurvePath(path);
|
|
123
|
+
_context4.next = 4;
|
|
124
|
+
return this.registerStrategy(objectData.type);
|
|
125
|
+
case 4:
|
|
126
|
+
strategy = _context4.sent;
|
|
127
|
+
_context4.next = 7;
|
|
128
|
+
return strategy.create(_objectSpread(_objectSpread({}, objectData), {}, {
|
|
129
|
+
visible: false
|
|
130
|
+
}));
|
|
131
|
+
case 7:
|
|
132
|
+
entity = _context4.sent;
|
|
133
|
+
mesh = new BatchManage({
|
|
134
|
+
path: curvePath,
|
|
135
|
+
number: number,
|
|
136
|
+
span: span,
|
|
137
|
+
entity: entity
|
|
138
|
+
});
|
|
139
|
+
mesh.userData.option = option;
|
|
140
|
+
return _context4.abrupt("return", mesh);
|
|
141
|
+
case 11:
|
|
142
|
+
case "end":
|
|
143
|
+
return _context4.stop();
|
|
144
|
+
}
|
|
145
|
+
}, _callee4, this);
|
|
146
|
+
}));
|
|
147
|
+
function _createMesh(_x5) {
|
|
148
|
+
return _createMesh2.apply(this, arguments);
|
|
149
|
+
}
|
|
150
|
+
return _createMesh;
|
|
151
|
+
}()
|
|
152
|
+
}, {
|
|
153
|
+
key: "_getCurvePath",
|
|
154
|
+
value: function _getCurvePath(path) {
|
|
155
|
+
var points = path.points;
|
|
156
|
+
var linePosition = points.map(function (v) {
|
|
157
|
+
return new Vector3().fromArray(v.position);
|
|
158
|
+
});
|
|
159
|
+
var curvePath = new CurvePath();
|
|
160
|
+
for (var i = 0; i < linePosition.length - 1; i++) curvePath.add(new LineCurve3(linePosition[i], linePosition[i + 1]));
|
|
161
|
+
return curvePath;
|
|
162
|
+
}
|
|
163
|
+
}]);
|
|
164
|
+
return Batch;
|
|
165
|
+
}(BaseEntity);
|
|
166
|
+
export default Batch;
|
|
167
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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","obj","key","_toPropertyKey","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","CurvePath","LineCurve3","Vector3","use","Batch","BatchManage","_","BaseEntity","entityStrategy","_BaseEntity","_super","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","registerStrategy","_x","_create","_callee2","json","mesh","_use$useScene","scene","_callee2$","_context2","_createMesh","userData","option","useScene","add","_x2","_update","_callee3","mergedOption","_callee3$","_context3","mergeWith","customizer","parent","removeFromParent","update","_x3","_x4","_createMesh2","_callee4","path","number","span","objectData","curvePath","strategy","entity","_callee4$","_context4","_getCurvePath","visible","_x5","points","linePosition","map","fromArray","position"],"sources":["../../../../src/module/entity/batch/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { CurvePath, LineCurve3, Vector3, use } from '@anov/3d-core'\nimport { Batch as BatchManage } from '@anov/3d-ability'\nimport _ from 'lodash'\nimport BaseEntity from '../baseEntity'\nimport { entityStrategy } from '../strategy'\n\nclass Batch extends BaseEntity {\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 create(json): Promise<Object3D> {\n const mesh = await this._createMesh(json)\n mesh.userData.option = json\n const { scene } = use.useScene()\n scene.add(mesh)\n return mesh\n }\n\n async update(json, mesh: Object3D): Promise<Object3D> {\n const option = mesh.userData.option || {}\n const mergedOption = _.mergeWith({}, option, json, this.customizer)\n mesh.parent && mesh.removeFromParent()\n return this.create(mergedOption)\n }\n\n private async _createMesh(option) {\n const { path, number, span, objectData } = option\n const curvePath = this._getCurvePath(path)\n\n const strategy = await this.registerStrategy(objectData.type)\n const entity = await strategy.create({ ...objectData, visible: false })\n\n const mesh = new BatchManage({ path: curvePath, number, span, entity })\n mesh.userData.option = option\n return mesh\n }\n\n private _getCurvePath(path) {\n const { points } = path\n const linePosition = points.map(v => new Vector3().fromArray(v.position))\n const curvePath = new CurvePath() as CurvePath<Vector3>\n for (let i = 0; i < linePosition.length - 1; i++)\n curvePath.add(new LineCurve3(linePosition[i], linePosition[i + 1]))\n\n return curvePath\n }\n}\n\nexport default Batch\n"],"mappings":"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"}
|
|
@@ -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
|
|
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
|
|
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 =
|
|
85
|
+
_context2.next = 7;
|
|
80
86
|
break;
|
|
81
87
|
}
|
|
82
88
|
throw new Error(targetEntityInfo.reason);
|
|
83
|
-
case
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
204
|
+
return _this3.registerStrategy(itemType || type);
|
|
187
205
|
case 2:
|
|
188
206
|
strategy = _context4.sent;
|
|
189
|
-
if (itemType && type === 'layer') res =
|
|
190
|
-
return _context4.abrupt("return",
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
353
|
+
return _this5.registerStrategy(itemType || type);
|
|
336
354
|
case 4:
|
|
337
355
|
strategy = _context8.sent;
|
|
338
|
-
if (itemType && type === 'layer') res = Promise.all(
|
|
356
|
+
if (itemType && type === 'layer') res = Promise.all(_this5.multiUpdate(id, strategy, _objectSpread({
|
|
339
357
|
itemType: itemType
|
|
340
|
-
}, json)));else res =
|
|
341
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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)) {
|