@galacean/effects-threejs 2.4.0-beta.0 → 2.4.0-beta.1
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/index.js +514 -808
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +509 -801
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime threejs plugin for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v2.4.0-beta.
|
|
6
|
+
* Version: v2.4.0-beta.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import * as THREE from 'three';
|
|
@@ -2002,7 +2002,7 @@ function getDirectStore(target) {
|
|
|
2002
2002
|
function EffectsObject(engine) {
|
|
2003
2003
|
this.engine = engine;
|
|
2004
2004
|
this.guid = generateGUID();
|
|
2005
|
-
this.
|
|
2005
|
+
this.defination = {};
|
|
2006
2006
|
this.engine.addInstance(this);
|
|
2007
2007
|
}
|
|
2008
2008
|
var _proto = EffectsObject.prototype;
|
|
@@ -2027,11 +2027,7 @@ function getDirectStore(target) {
|
|
|
2027
2027
|
* 反序列化函数
|
|
2028
2028
|
*
|
|
2029
2029
|
* @param data - 对象的序列化的数据
|
|
2030
|
-
*/ _proto.fromData = function fromData(data) {
|
|
2031
|
-
if (data.id) {
|
|
2032
|
-
this.setInstanceId(data.id);
|
|
2033
|
-
}
|
|
2034
|
-
};
|
|
2030
|
+
*/ _proto.fromData = function fromData(data) {};
|
|
2035
2031
|
/**
|
|
2036
2032
|
*
|
|
2037
2033
|
*/ _proto.dispose = function dispose() {};
|
|
@@ -2127,9 +2123,6 @@ function getDirectStore(target) {
|
|
|
2127
2123
|
};
|
|
2128
2124
|
_proto.fromData = function fromData(data) {
|
|
2129
2125
|
EffectsObject.prototype.fromData.call(this, data);
|
|
2130
|
-
if (data.item) {
|
|
2131
|
-
this.item = data.item;
|
|
2132
|
-
}
|
|
2133
2126
|
};
|
|
2134
2127
|
_proto.dispose = function dispose() {
|
|
2135
2128
|
if (this.isEnableCalled) {
|
|
@@ -2194,11 +2187,15 @@ function getDirectStore(target) {
|
|
|
2194
2187
|
]);
|
|
2195
2188
|
return Component;
|
|
2196
2189
|
}(EffectsObject);
|
|
2190
|
+
__decorate([
|
|
2191
|
+
serialize()
|
|
2192
|
+
], Component.prototype, "item", void 0);
|
|
2197
2193
|
__decorate([
|
|
2198
2194
|
serialize()
|
|
2199
2195
|
], Component.prototype, "_enabled", void 0);
|
|
2200
2196
|
/**
|
|
2201
2197
|
* @since 2.0.0
|
|
2198
|
+
* @deprecated 2.4.0 Please use Component instead
|
|
2202
2199
|
*/ var Behaviour = /*#__PURE__*/ function(Component) {
|
|
2203
2200
|
_inherits(Behaviour, Component);
|
|
2204
2201
|
function Behaviour() {
|
|
@@ -2228,10 +2225,6 @@ __decorate([
|
|
|
2228
2225
|
}
|
|
2229
2226
|
var _proto = RendererComponent.prototype;
|
|
2230
2227
|
_proto.render = function render(renderer) {};
|
|
2231
|
-
_proto.setVFXItem = function setVFXItem(item) {
|
|
2232
|
-
Component.prototype.setVFXItem.call(this, item);
|
|
2233
|
-
this.item.rendererComponents.push(this);
|
|
2234
|
-
};
|
|
2235
2228
|
_proto.onEnable = function onEnable() {
|
|
2236
2229
|
var _this_item_composition;
|
|
2237
2230
|
(_this_item_composition = this.item.composition) == null ? void 0 : _this_item_composition.renderFrame.addMeshToDefaultRenderPass(this);
|
|
@@ -2240,18 +2233,6 @@ __decorate([
|
|
|
2240
2233
|
var _this_item_composition;
|
|
2241
2234
|
(_this_item_composition = this.item.composition) == null ? void 0 : _this_item_composition.renderFrame.removeMeshFromDefaultRenderPass(this);
|
|
2242
2235
|
};
|
|
2243
|
-
_proto.fromData = function fromData(data) {
|
|
2244
|
-
Component.prototype.fromData.call(this, data);
|
|
2245
|
-
};
|
|
2246
|
-
_proto.toData = function toData() {
|
|
2247
|
-
Component.prototype.toData.call(this);
|
|
2248
|
-
};
|
|
2249
|
-
_proto.dispose = function dispose() {
|
|
2250
|
-
if (this.item) {
|
|
2251
|
-
removeItem(this.item.rendererComponents, this);
|
|
2252
|
-
}
|
|
2253
|
-
Component.prototype.dispose.call(this);
|
|
2254
|
-
};
|
|
2255
2236
|
_create_class(RendererComponent, [
|
|
2256
2237
|
{
|
|
2257
2238
|
key: "priority",
|
|
@@ -3874,11 +3855,11 @@ EffectComponent = __decorate([
|
|
|
3874
3855
|
effectsClass(DataType.EffectComponent)
|
|
3875
3856
|
], EffectComponent);
|
|
3876
3857
|
|
|
3877
|
-
var PostProcessVolume = /*#__PURE__*/ function(
|
|
3878
|
-
_inherits(PostProcessVolume,
|
|
3858
|
+
var PostProcessVolume = /*#__PURE__*/ function(Component) {
|
|
3859
|
+
_inherits(PostProcessVolume, Component);
|
|
3879
3860
|
function PostProcessVolume(engine) {
|
|
3880
3861
|
var _this;
|
|
3881
|
-
_this =
|
|
3862
|
+
_this = Component.call(this, engine) || this;
|
|
3882
3863
|
_this.bloom = {
|
|
3883
3864
|
threshold: 0,
|
|
3884
3865
|
intensity: 0,
|
|
@@ -3909,7 +3890,7 @@ var PostProcessVolume = /*#__PURE__*/ function(Behaviour) {
|
|
|
3909
3890
|
}
|
|
3910
3891
|
};
|
|
3911
3892
|
return PostProcessVolume;
|
|
3912
|
-
}(
|
|
3893
|
+
}(Component);
|
|
3913
3894
|
__decorate([
|
|
3914
3895
|
serialize()
|
|
3915
3896
|
], PostProcessVolume.prototype, "bloom", void 0);
|
|
@@ -12746,6 +12727,10 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12746
12727
|
RendererComponent.prototype.fromData.call(this, data);
|
|
12747
12728
|
var _data_renderer;
|
|
12748
12729
|
var renderer = (_data_renderer = data.renderer) != null ? _data_renderer : {};
|
|
12730
|
+
var maskProps = data.mask;
|
|
12731
|
+
if (maskProps && maskProps.ref) {
|
|
12732
|
+
maskProps.ref = this.engine.findObject(maskProps.ref);
|
|
12733
|
+
}
|
|
12749
12734
|
var maskMode = this.maskManager.getMaskMode(data);
|
|
12750
12735
|
// TODO 新蒙板上线后移除
|
|
12751
12736
|
//-------------------------------------------------------------------------
|
|
@@ -12753,15 +12738,15 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12753
12738
|
//@ts-expect-error
|
|
12754
12739
|
var split = data.splits && !data.textureSheetAnimation ? data.splits[0] : undefined;
|
|
12755
12740
|
var shapeGeometry = undefined;
|
|
12756
|
-
if (shapeData !== undefined && !("aPoint" in shapeData && "index" in shapeData)) {
|
|
12741
|
+
if (shapeData !== undefined && shapeData !== null && !("aPoint" in shapeData && "index" in shapeData)) {
|
|
12757
12742
|
shapeGeometry = getGeometryByShape(shapeData, split);
|
|
12758
12743
|
}
|
|
12759
|
-
var _renderer_renderMode, _renderer_blending,
|
|
12744
|
+
var _renderer_renderMode, _renderer_blending, _renderer_side;
|
|
12760
12745
|
//-------------------------------------------------------------------------
|
|
12761
12746
|
this.renderer = {
|
|
12762
12747
|
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
12763
12748
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
12764
|
-
texture:
|
|
12749
|
+
texture: renderer.texture ? this.engine.findObject(renderer.texture) : this.engine.emptyTexture,
|
|
12765
12750
|
occlusion: !!renderer.occlusion,
|
|
12766
12751
|
transparentOcclusion: !!renderer.transparentOcclusion || maskMode === MaskMode.MASK,
|
|
12767
12752
|
side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode.DOUBLE,
|
|
@@ -12978,14 +12963,14 @@ var ShapeComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
12978
12963
|
var control2 = easingIns[pointIndex.easingIn];
|
|
12979
12964
|
this.graphicsPath.bezierCurveTo(control1.x + lastPoint.x, control1.y + lastPoint.y, control2.x + point.x, control2.y + point.y, point.x, point.y, 1);
|
|
12980
12965
|
}
|
|
12981
|
-
var pointIndex1 = indices[0];
|
|
12982
|
-
var lastPointIndex1 = indices[indices.length - 1];
|
|
12983
|
-
var point1 = points[pointIndex1.point];
|
|
12984
|
-
var lastPoint1 = points[lastPointIndex1.point];
|
|
12985
|
-
var control11 = easingOuts[lastPointIndex1.easingOut];
|
|
12986
|
-
var control21 = easingIns[pointIndex1.easingIn];
|
|
12987
|
-
this.graphicsPath.bezierCurveTo(control11.x + lastPoint1.x, control11.y + lastPoint1.y, control21.x + point1.x, control21.y + point1.y, point1.x, point1.y, 1);
|
|
12988
12966
|
if (shape.close) {
|
|
12967
|
+
var pointIndex1 = indices[0];
|
|
12968
|
+
var lastPointIndex1 = indices[indices.length - 1];
|
|
12969
|
+
var point1 = points[pointIndex1.point];
|
|
12970
|
+
var lastPoint1 = points[lastPointIndex1.point];
|
|
12971
|
+
var control11 = easingOuts[lastPointIndex1.easingOut];
|
|
12972
|
+
var control21 = easingIns[pointIndex1.easingIn];
|
|
12973
|
+
this.graphicsPath.bezierCurveTo(control11.x + lastPoint1.x, control11.y + lastPoint1.y, control21.x + point1.x, control21.y + point1.y, point1.x, point1.y, 1);
|
|
12989
12974
|
this.graphicsPath.closePath();
|
|
12990
12975
|
}
|
|
12991
12976
|
}
|
|
@@ -13115,6 +13100,10 @@ var ShapeComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
13115
13100
|
break;
|
|
13116
13101
|
}
|
|
13117
13102
|
}
|
|
13103
|
+
var maskProps = data.mask;
|
|
13104
|
+
if (maskProps && maskProps.ref) {
|
|
13105
|
+
maskProps.ref = this.engine.findObject(maskProps.ref);
|
|
13106
|
+
}
|
|
13118
13107
|
var maskMode = this.maskManager.getMaskMode(data);
|
|
13119
13108
|
var maskRef = this.maskManager.getRefValue();
|
|
13120
13109
|
this.material.stencilRef = maskRef !== undefined ? [
|
|
@@ -13264,11 +13253,11 @@ var Fake3DAnimationMode;
|
|
|
13264
13253
|
Fake3DAnimationMode[Fake3DAnimationMode["Linear"] = 1] = "Linear";
|
|
13265
13254
|
})(Fake3DAnimationMode || (Fake3DAnimationMode = {}));
|
|
13266
13255
|
|
|
13267
|
-
var CameraController = /*#__PURE__*/ function(
|
|
13268
|
-
_inherits(CameraController,
|
|
13256
|
+
var CameraController = /*#__PURE__*/ function(Component) {
|
|
13257
|
+
_inherits(CameraController, Component);
|
|
13269
13258
|
function CameraController(engine, props) {
|
|
13270
13259
|
var _this;
|
|
13271
|
-
_this =
|
|
13260
|
+
_this = Component.call(this, engine) || this;
|
|
13272
13261
|
if (props) {
|
|
13273
13262
|
_this.fromData(props);
|
|
13274
13263
|
}
|
|
@@ -13289,11 +13278,11 @@ var CameraController = /*#__PURE__*/ function(Behaviour) {
|
|
|
13289
13278
|
}
|
|
13290
13279
|
};
|
|
13291
13280
|
_proto.fromData = function fromData(data) {
|
|
13292
|
-
|
|
13281
|
+
Component.prototype.fromData.call(this, data);
|
|
13293
13282
|
this.options = data.options;
|
|
13294
13283
|
};
|
|
13295
13284
|
return CameraController;
|
|
13296
|
-
}(
|
|
13285
|
+
}(Component);
|
|
13297
13286
|
CameraController = __decorate([
|
|
13298
13287
|
effectsClass(DataType.CameraController)
|
|
13299
13288
|
], CameraController);
|
|
@@ -19441,7 +19430,7 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19441
19430
|
mask: maskProps.maskRef,
|
|
19442
19431
|
maskMode: maskProps.maskMode,
|
|
19443
19432
|
forceTarget: forceTarget,
|
|
19444
|
-
diffuse: renderer.texture,
|
|
19433
|
+
diffuse: renderer.texture ? this.engine.findObject(renderer.texture) : undefined,
|
|
19445
19434
|
sizeOverLifetime: sizeOverLifetimeGetter,
|
|
19446
19435
|
anchor: anchor
|
|
19447
19436
|
};
|
|
@@ -19528,7 +19517,7 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19528
19517
|
maxTrailCount: options.maxCount,
|
|
19529
19518
|
pointCountPerTrail: Math.round(trails.maxPointPerTrail) || 32,
|
|
19530
19519
|
blending: trails.blending,
|
|
19531
|
-
texture: trails.texture,
|
|
19520
|
+
texture: trails.texture ? this.engine.findObject(trails.texture) : undefined,
|
|
19532
19521
|
opacityOverLifetime: createValueGetter(trails.opacityOverLifetime || 1),
|
|
19533
19522
|
widthOverTrail: createValueGetter(trails.widthOverTrail || 1),
|
|
19534
19523
|
// order: vfxItem.listIndex + (trails.orderOffset || 0),
|
|
@@ -19567,8 +19556,9 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19567
19556
|
var maskRef = 0;
|
|
19568
19557
|
if (data.mask) {
|
|
19569
19558
|
var _data_mask = data.mask, mode = _data_mask.mode, ref = _data_mask.ref;
|
|
19559
|
+
var refComponent = this.engine.findObject(ref);
|
|
19570
19560
|
maskMode = mode;
|
|
19571
|
-
maskRef =
|
|
19561
|
+
maskRef = refComponent.maskManager.getRefValue();
|
|
19572
19562
|
}
|
|
19573
19563
|
return {
|
|
19574
19564
|
maskMode: maskMode,
|
|
@@ -20656,13 +20646,11 @@ Vector2PropertyPlayableAsset = __decorate([
|
|
|
20656
20646
|
effectsClass(DataType.Vector2PropertyPlayableAsset)
|
|
20657
20647
|
], Vector2PropertyPlayableAsset);
|
|
20658
20648
|
|
|
20659
|
-
|
|
20660
|
-
|
|
20661
|
-
*/ var CompositionComponent = /*#__PURE__*/ function(Behaviour) {
|
|
20662
|
-
_inherits(CompositionComponent, Behaviour);
|
|
20649
|
+
var CompositionComponent = /*#__PURE__*/ function(Component) {
|
|
20650
|
+
_inherits(CompositionComponent, Component);
|
|
20663
20651
|
function CompositionComponent() {
|
|
20664
20652
|
var _this;
|
|
20665
|
-
_this =
|
|
20653
|
+
_this = Component.apply(this, arguments) || this;
|
|
20666
20654
|
_this.time = 0;
|
|
20667
20655
|
_this.startTime = 0;
|
|
20668
20656
|
_this.items = [] // 场景的所有元素
|
|
@@ -20838,13 +20826,10 @@ Vector2PropertyPlayableAsset = __decorate([
|
|
|
20838
20826
|
return startOrder;
|
|
20839
20827
|
};
|
|
20840
20828
|
_proto.fromData = function fromData(data) {
|
|
20841
|
-
|
|
20829
|
+
Component.prototype.fromData.call(this, data);
|
|
20842
20830
|
var compositionData = data;
|
|
20843
|
-
this.items = compositionData.items;
|
|
20844
20831
|
var _compositionData_startTime;
|
|
20845
20832
|
this.startTime = (_compositionData_startTime = compositionData.startTime) != null ? _compositionData_startTime : 0;
|
|
20846
|
-
this.sceneBindings = compositionData.sceneBindings;
|
|
20847
|
-
this.timelineAsset = compositionData.timelineAsset;
|
|
20848
20833
|
};
|
|
20849
20834
|
_proto.resolveBindings = function resolveBindings() {
|
|
20850
20835
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.sceneBindings), _step; !(_step = _iterator()).done;){
|
|
@@ -20867,7 +20852,19 @@ Vector2PropertyPlayableAsset = __decorate([
|
|
|
20867
20852
|
}
|
|
20868
20853
|
};
|
|
20869
20854
|
return CompositionComponent;
|
|
20870
|
-
}(
|
|
20855
|
+
}(Component);
|
|
20856
|
+
__decorate([
|
|
20857
|
+
serialize()
|
|
20858
|
+
], CompositionComponent.prototype, "items", void 0);
|
|
20859
|
+
__decorate([
|
|
20860
|
+
serialize()
|
|
20861
|
+
], CompositionComponent.prototype, "sceneBindings", void 0);
|
|
20862
|
+
__decorate([
|
|
20863
|
+
serialize()
|
|
20864
|
+
], CompositionComponent.prototype, "timelineAsset", void 0);
|
|
20865
|
+
CompositionComponent = __decorate([
|
|
20866
|
+
effectsClass("CompositionComponent")
|
|
20867
|
+
], CompositionComponent);
|
|
20871
20868
|
|
|
20872
20869
|
/**
|
|
20873
20870
|
*
|
|
@@ -21059,482 +21056,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
21059
21056
|
// }
|
|
21060
21057
|
(TickData);
|
|
21061
21058
|
|
|
21062
|
-
var SerializationHelper = /*#__PURE__*/ function() {
|
|
21063
|
-
function SerializationHelper() {}
|
|
21064
|
-
SerializationHelper.collectSerializableObject = function collectSerializableObject(effectsObject, res) {
|
|
21065
|
-
if (res[effectsObject.getInstanceId()]) {
|
|
21066
|
-
return;
|
|
21067
|
-
}
|
|
21068
|
-
effectsObject.toData();
|
|
21069
|
-
res[effectsObject.getInstanceId()] = effectsObject;
|
|
21070
|
-
var serializedProperties = getMergedStore(effectsObject);
|
|
21071
|
-
if (serializedProperties) {
|
|
21072
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
|
|
21073
|
-
var key = _step.value;
|
|
21074
|
-
// TODO 待移除,序列化属性通过 effectsObject 对象直接获取
|
|
21075
|
-
var value = effectsObject.taggedProperties[key];
|
|
21076
|
-
if (value === undefined) {
|
|
21077
|
-
value = effectsObject[key];
|
|
21078
|
-
}
|
|
21079
|
-
if (EffectsObject.is(value)) {
|
|
21080
|
-
SerializationHelper.collectSerializableObject(value, res);
|
|
21081
|
-
} else if (isArray(value)) {
|
|
21082
|
-
for(var _iterator1 = _create_for_of_iterator_helper_loose(value), _step1; !(_step1 = _iterator1()).done;){
|
|
21083
|
-
var arrayValue = _step1.value;
|
|
21084
|
-
if (EffectsObject.is(arrayValue)) {
|
|
21085
|
-
SerializationHelper.collectSerializableObject(arrayValue, res);
|
|
21086
|
-
}
|
|
21087
|
-
}
|
|
21088
|
-
} else if (isObject(value)) {
|
|
21089
|
-
// 非 EffectsObject 对象只递归一层
|
|
21090
|
-
for(var _iterator2 = _create_for_of_iterator_helper_loose(Object.keys(value)), _step2; !(_step2 = _iterator2()).done;){
|
|
21091
|
-
var objectKey = _step2.value;
|
|
21092
|
-
var objectValue = value[objectKey];
|
|
21093
|
-
if (EffectsObject.is(objectValue)) {
|
|
21094
|
-
SerializationHelper.collectSerializableObject(objectValue, res);
|
|
21095
|
-
}
|
|
21096
|
-
}
|
|
21097
|
-
}
|
|
21098
|
-
}
|
|
21099
|
-
}
|
|
21100
|
-
};
|
|
21101
|
-
SerializationHelper.serializeEffectObject = function serializeEffectObject(effectsObject) {
|
|
21102
|
-
// 持有所有需要序列化的引擎对象
|
|
21103
|
-
var serializableMap = {};
|
|
21104
|
-
var engine = effectsObject.engine;
|
|
21105
|
-
// 加入内存中已加载的资产数据,避免重复创建资产数据
|
|
21106
|
-
var serializedDatas = _extends({}, engine.jsonSceneData);
|
|
21107
|
-
// 递归收集所有需要序列化的对象
|
|
21108
|
-
SerializationHelper.collectSerializableObject(effectsObject, serializableMap);
|
|
21109
|
-
// 依次序列化
|
|
21110
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializableMap)), _step; !(_step = _iterator()).done;){
|
|
21111
|
-
var guid = _step.value;
|
|
21112
|
-
var serializeObject = serializableMap[guid];
|
|
21113
|
-
if (!serializedDatas[serializeObject.getInstanceId()]) {
|
|
21114
|
-
serializedDatas[serializeObject.getInstanceId()] = {};
|
|
21115
|
-
}
|
|
21116
|
-
SerializationHelper.serialize(serializeObject, serializedDatas[serializeObject.getInstanceId()]);
|
|
21117
|
-
}
|
|
21118
|
-
return serializedDatas;
|
|
21119
|
-
};
|
|
21120
|
-
SerializationHelper.serialize = function serialize(effectsObject, serializedData) {
|
|
21121
|
-
effectsObject.toData();
|
|
21122
|
-
if (!serializedData) {
|
|
21123
|
-
serializedData = {};
|
|
21124
|
-
}
|
|
21125
|
-
var serializedProperties = getMergedStore(effectsObject);
|
|
21126
|
-
if (serializedProperties) {
|
|
21127
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
|
|
21128
|
-
var key = _step.value;
|
|
21129
|
-
var value = effectsObject[key];
|
|
21130
|
-
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(value)) {
|
|
21131
|
-
// TODO json 数据避免传 typedArray
|
|
21132
|
-
serializedData[key] = value;
|
|
21133
|
-
} else if (isArray(value)) {
|
|
21134
|
-
if (!serializedData[key]) {
|
|
21135
|
-
serializedData[key] = [];
|
|
21136
|
-
}
|
|
21137
|
-
SerializationHelper.serializeArrayProperty(value, serializedData[key], 0);
|
|
21138
|
-
} else if (EffectsObject.is(value)) {
|
|
21139
|
-
// TODO 处理 EffectsObject 递归序列化
|
|
21140
|
-
serializedData[key] = {
|
|
21141
|
-
id: value.getInstanceId()
|
|
21142
|
-
};
|
|
21143
|
-
} else if (isObject(value)) {
|
|
21144
|
-
if (!serializedData[key]) {
|
|
21145
|
-
serializedData[key] = {};
|
|
21146
|
-
}
|
|
21147
|
-
SerializationHelper.serializeObjectProperty(value, serializedData[key], 0);
|
|
21148
|
-
}
|
|
21149
|
-
}
|
|
21150
|
-
}
|
|
21151
|
-
// TODO 待移除 tagggedProperties 为没有装饰器的临时方案
|
|
21152
|
-
for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(effectsObject.taggedProperties)), _step1; !(_step1 = _iterator1()).done;){
|
|
21153
|
-
var key1 = _step1.value;
|
|
21154
|
-
var value1 = effectsObject.taggedProperties[key1];
|
|
21155
|
-
if (typeof value1 === "number" || typeof value1 === "string" || typeof value1 === "boolean" || SerializationHelper.checkTypedArray(value1)) {
|
|
21156
|
-
// TODO json 数据避免传 typedArray
|
|
21157
|
-
serializedData[key1] = value1;
|
|
21158
|
-
} else if (isArray(value1)) {
|
|
21159
|
-
if (!serializedData[key1]) {
|
|
21160
|
-
serializedData[key1] = [];
|
|
21161
|
-
}
|
|
21162
|
-
SerializationHelper.serializeArrayProperty(value1, serializedData[key1], 0);
|
|
21163
|
-
} else if (EffectsObject.is(value1)) {
|
|
21164
|
-
// TODO 处理 EffectsObject 递归序列化
|
|
21165
|
-
serializedData[key1] = {
|
|
21166
|
-
id: value1.getInstanceId()
|
|
21167
|
-
};
|
|
21168
|
-
} else if (isObject(value1)) {
|
|
21169
|
-
if (!serializedData[key1]) {
|
|
21170
|
-
serializedData[key1] = {};
|
|
21171
|
-
}
|
|
21172
|
-
SerializationHelper.serializeObjectProperty(value1, serializedData[key1], 0);
|
|
21173
|
-
}
|
|
21174
|
-
}
|
|
21175
|
-
return serializedData;
|
|
21176
|
-
};
|
|
21177
|
-
SerializationHelper.deserialize = function deserialize(serializedData, effectsObject) {
|
|
21178
|
-
var taggedProperties = effectsObject.taggedProperties;
|
|
21179
|
-
var serializedProperties = getMergedStore(effectsObject);
|
|
21180
|
-
var engine = effectsObject.engine;
|
|
21181
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedData)), _step; !(_step = _iterator()).done;){
|
|
21182
|
-
var key = _step.value;
|
|
21183
|
-
if (serializedProperties && serializedProperties[key]) {
|
|
21184
|
-
continue;
|
|
21185
|
-
}
|
|
21186
|
-
var value = serializedData[key];
|
|
21187
|
-
taggedProperties[key] = SerializationHelper.deserializeProperty(value, engine, 0);
|
|
21188
|
-
}
|
|
21189
|
-
if (serializedProperties) {
|
|
21190
|
-
for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step1; !(_step1 = _iterator1()).done;){
|
|
21191
|
-
var key1 = _step1.value;
|
|
21192
|
-
var value1 = serializedData[key1];
|
|
21193
|
-
if (value1 === undefined) {
|
|
21194
|
-
continue;
|
|
21195
|
-
}
|
|
21196
|
-
var propertyType = serializedProperties[key1].type;
|
|
21197
|
-
// FIXME: taggedProperties 为 readonly,这里存在强制赋值
|
|
21198
|
-
// @ts-expect-error
|
|
21199
|
-
effectsObject[key1] = SerializationHelper.deserializeProperty(value1, engine, 0, propertyType);
|
|
21200
|
-
}
|
|
21201
|
-
}
|
|
21202
|
-
effectsObject.fromData(taggedProperties);
|
|
21203
|
-
};
|
|
21204
|
-
SerializationHelper.deserializeAsync = function deserializeAsync(serializedData, effectsObject) {
|
|
21205
|
-
return _async_to_generator(function() {
|
|
21206
|
-
var taggedProperties, serializedProperties, engine, _iterator, _step, key, value, _iterator1, _step1, key1, value1, propertyType;
|
|
21207
|
-
return __generator(this, function(_state) {
|
|
21208
|
-
switch(_state.label){
|
|
21209
|
-
case 0:
|
|
21210
|
-
taggedProperties = effectsObject.taggedProperties;
|
|
21211
|
-
serializedProperties = getMergedStore(effectsObject);
|
|
21212
|
-
engine = effectsObject.engine;
|
|
21213
|
-
_iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedData));
|
|
21214
|
-
_state.label = 1;
|
|
21215
|
-
case 1:
|
|
21216
|
-
if (!!(_step = _iterator()).done) return [
|
|
21217
|
-
3,
|
|
21218
|
-
4
|
|
21219
|
-
];
|
|
21220
|
-
key = _step.value;
|
|
21221
|
-
if (serializedProperties && serializedProperties[key]) {
|
|
21222
|
-
return [
|
|
21223
|
-
3,
|
|
21224
|
-
3
|
|
21225
|
-
];
|
|
21226
|
-
}
|
|
21227
|
-
value = serializedData[key];
|
|
21228
|
-
return [
|
|
21229
|
-
4,
|
|
21230
|
-
SerializationHelper.deserializePropertyAsync(value, engine, 0)
|
|
21231
|
-
];
|
|
21232
|
-
case 2:
|
|
21233
|
-
taggedProperties[key] = _state.sent();
|
|
21234
|
-
_state.label = 3;
|
|
21235
|
-
case 3:
|
|
21236
|
-
return [
|
|
21237
|
-
3,
|
|
21238
|
-
1
|
|
21239
|
-
];
|
|
21240
|
-
case 4:
|
|
21241
|
-
if (!serializedProperties) return [
|
|
21242
|
-
3,
|
|
21243
|
-
8
|
|
21244
|
-
];
|
|
21245
|
-
_iterator1 = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties));
|
|
21246
|
-
_state.label = 5;
|
|
21247
|
-
case 5:
|
|
21248
|
-
if (!!(_step1 = _iterator1()).done) return [
|
|
21249
|
-
3,
|
|
21250
|
-
8
|
|
21251
|
-
];
|
|
21252
|
-
key1 = _step1.value;
|
|
21253
|
-
value1 = serializedData[key1];
|
|
21254
|
-
if (value1 === undefined) {
|
|
21255
|
-
return [
|
|
21256
|
-
3,
|
|
21257
|
-
7
|
|
21258
|
-
];
|
|
21259
|
-
}
|
|
21260
|
-
propertyType = serializedProperties[key1].type;
|
|
21261
|
-
return [
|
|
21262
|
-
4,
|
|
21263
|
-
SerializationHelper.deserializePropertyAsync(value1, engine, 0, propertyType)
|
|
21264
|
-
];
|
|
21265
|
-
case 6:
|
|
21266
|
-
// FIXME: taggedProperties 为 readonly,这里存在强制赋值
|
|
21267
|
-
// @ts-expect-error
|
|
21268
|
-
effectsObject[key1] = _state.sent();
|
|
21269
|
-
_state.label = 7;
|
|
21270
|
-
case 7:
|
|
21271
|
-
return [
|
|
21272
|
-
3,
|
|
21273
|
-
5
|
|
21274
|
-
];
|
|
21275
|
-
case 8:
|
|
21276
|
-
effectsObject.fromData(taggedProperties);
|
|
21277
|
-
return [
|
|
21278
|
-
2
|
|
21279
|
-
];
|
|
21280
|
-
}
|
|
21281
|
-
});
|
|
21282
|
-
})();
|
|
21283
|
-
};
|
|
21284
|
-
SerializationHelper.checkTypedArray = function checkTypedArray(obj) {
|
|
21285
|
-
return _instanceof1(obj, Int8Array) || _instanceof1(obj, Uint8Array) || _instanceof1(obj, Uint8ClampedArray) || _instanceof1(obj, Int16Array) || _instanceof1(obj, Uint16Array) || _instanceof1(obj, Int32Array) || _instanceof1(obj, Uint32Array) || _instanceof1(obj, Float32Array) || _instanceof1(obj, Float64Array) || _instanceof1(obj, ArrayBuffer);
|
|
21286
|
-
};
|
|
21287
|
-
// check value is { id: 7e69662e964e4892ae8933f24562395b }
|
|
21288
|
-
SerializationHelper.checkDataPath = function checkDataPath(value) {
|
|
21289
|
-
return !!(isObject(value) && Object.keys(value).length === 1 && "id" in value && isString(value.id) && value.id.length === 32);
|
|
21290
|
-
};
|
|
21291
|
-
// TODO 测试函数,2.0 上线后移除
|
|
21292
|
-
SerializationHelper.checkGLTFNode = function checkGLTFNode(value) {
|
|
21293
|
-
return isObject(value) && value.nodeIndex !== undefined && value.isJoint !== undefined;
|
|
21294
|
-
};
|
|
21295
|
-
SerializationHelper.checkImageSource = function checkImageSource(value) {
|
|
21296
|
-
return isCanvas(value) || _instanceof1(value, HTMLImageElement);
|
|
21297
|
-
};
|
|
21298
|
-
SerializationHelper.deserializeProperty = function deserializeProperty(property, engine, level, type) {
|
|
21299
|
-
if (level > 14) {
|
|
21300
|
-
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
21301
|
-
return;
|
|
21302
|
-
}
|
|
21303
|
-
// 加载并链接 DataPath 字段表示的 EffectsObject 引用。Class 对象 copy [key, value] 会丢失对象信息,因此只递归数组对象和普通 js Object 结构对象。
|
|
21304
|
-
if (isArray(property)) {
|
|
21305
|
-
var res = [];
|
|
21306
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(property), _step; !(_step = _iterator()).done;){
|
|
21307
|
-
var value = _step.value;
|
|
21308
|
-
res.push(SerializationHelper.deserializeProperty(value, engine, level + 1, type));
|
|
21309
|
-
}
|
|
21310
|
-
return res;
|
|
21311
|
-
// TODO json 数据避免传 typedArray
|
|
21312
|
-
} else if (SerializationHelper.checkDataPath(property)) {
|
|
21313
|
-
return engine.assetLoader.loadGUID(property.id);
|
|
21314
|
-
} else if (isObject(property) && property.constructor === Object) {
|
|
21315
|
-
var res1;
|
|
21316
|
-
if (type) {
|
|
21317
|
-
res1 = new type();
|
|
21318
|
-
} else {
|
|
21319
|
-
res1 = {};
|
|
21320
|
-
}
|
|
21321
|
-
for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(property)), _step1; !(_step1 = _iterator1()).done;){
|
|
21322
|
-
var key = _step1.value;
|
|
21323
|
-
res1[key] = SerializationHelper.deserializeProperty(property[key], engine, level + 1);
|
|
21324
|
-
}
|
|
21325
|
-
return res1;
|
|
21326
|
-
} else {
|
|
21327
|
-
return property;
|
|
21328
|
-
}
|
|
21329
|
-
};
|
|
21330
|
-
SerializationHelper.deserializePropertyAsync = function deserializePropertyAsync(property, engine, level, type) {
|
|
21331
|
-
return _async_to_generator(function() {
|
|
21332
|
-
var res, _iterator, _step, value, _, res1, res2, _iterator1, _step1, key;
|
|
21333
|
-
return __generator(this, function(_state) {
|
|
21334
|
-
switch(_state.label){
|
|
21335
|
-
case 0:
|
|
21336
|
-
if (level > 14) {
|
|
21337
|
-
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
21338
|
-
return [
|
|
21339
|
-
2
|
|
21340
|
-
];
|
|
21341
|
-
}
|
|
21342
|
-
if (!isArray(property)) return [
|
|
21343
|
-
3,
|
|
21344
|
-
5
|
|
21345
|
-
];
|
|
21346
|
-
res = [];
|
|
21347
|
-
_iterator = _create_for_of_iterator_helper_loose(property);
|
|
21348
|
-
_state.label = 1;
|
|
21349
|
-
case 1:
|
|
21350
|
-
if (!!(_step = _iterator()).done) return [
|
|
21351
|
-
3,
|
|
21352
|
-
4
|
|
21353
|
-
];
|
|
21354
|
-
value = _step.value;
|
|
21355
|
-
_ = res.push;
|
|
21356
|
-
return [
|
|
21357
|
-
4,
|
|
21358
|
-
SerializationHelper.deserializePropertyAsync(value, engine, level + 1, type)
|
|
21359
|
-
];
|
|
21360
|
-
case 2:
|
|
21361
|
-
_.apply(res, [
|
|
21362
|
-
_state.sent()
|
|
21363
|
-
]);
|
|
21364
|
-
_state.label = 3;
|
|
21365
|
-
case 3:
|
|
21366
|
-
return [
|
|
21367
|
-
3,
|
|
21368
|
-
1
|
|
21369
|
-
];
|
|
21370
|
-
case 4:
|
|
21371
|
-
return [
|
|
21372
|
-
2,
|
|
21373
|
-
res
|
|
21374
|
-
];
|
|
21375
|
-
case 5:
|
|
21376
|
-
if (!SerializationHelper.checkDataPath(property)) return [
|
|
21377
|
-
3,
|
|
21378
|
-
7
|
|
21379
|
-
];
|
|
21380
|
-
return [
|
|
21381
|
-
4,
|
|
21382
|
-
engine.assetLoader.loadGUIDAsync(property.id)
|
|
21383
|
-
];
|
|
21384
|
-
case 6:
|
|
21385
|
-
res1 = _state.sent();
|
|
21386
|
-
return [
|
|
21387
|
-
2,
|
|
21388
|
-
res1
|
|
21389
|
-
];
|
|
21390
|
-
case 7:
|
|
21391
|
-
if (!(isObject(property) && property.constructor === Object)) return [
|
|
21392
|
-
3,
|
|
21393
|
-
12
|
|
21394
|
-
];
|
|
21395
|
-
if (type) {
|
|
21396
|
-
res2 = new type();
|
|
21397
|
-
} else {
|
|
21398
|
-
res2 = {};
|
|
21399
|
-
}
|
|
21400
|
-
_iterator1 = _create_for_of_iterator_helper_loose(Object.keys(property));
|
|
21401
|
-
_state.label = 8;
|
|
21402
|
-
case 8:
|
|
21403
|
-
if (!!(_step1 = _iterator1()).done) return [
|
|
21404
|
-
3,
|
|
21405
|
-
11
|
|
21406
|
-
];
|
|
21407
|
-
key = _step1.value;
|
|
21408
|
-
return [
|
|
21409
|
-
4,
|
|
21410
|
-
SerializationHelper.deserializePropertyAsync(property[key], engine, level + 1)
|
|
21411
|
-
];
|
|
21412
|
-
case 9:
|
|
21413
|
-
res2[key] = _state.sent();
|
|
21414
|
-
_state.label = 10;
|
|
21415
|
-
case 10:
|
|
21416
|
-
return [
|
|
21417
|
-
3,
|
|
21418
|
-
8
|
|
21419
|
-
];
|
|
21420
|
-
case 11:
|
|
21421
|
-
return [
|
|
21422
|
-
2,
|
|
21423
|
-
res2
|
|
21424
|
-
];
|
|
21425
|
-
case 12:
|
|
21426
|
-
return [
|
|
21427
|
-
2,
|
|
21428
|
-
property
|
|
21429
|
-
];
|
|
21430
|
-
case 13:
|
|
21431
|
-
return [
|
|
21432
|
-
2
|
|
21433
|
-
];
|
|
21434
|
-
}
|
|
21435
|
-
});
|
|
21436
|
-
})();
|
|
21437
|
-
};
|
|
21438
|
-
SerializationHelper.serializeObjectProperty = function serializeObjectProperty(objectProperty, serializedData, level) {
|
|
21439
|
-
if (level > 14) {
|
|
21440
|
-
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
21441
|
-
return;
|
|
21442
|
-
}
|
|
21443
|
-
if (!serializedData) {
|
|
21444
|
-
serializedData = {};
|
|
21445
|
-
}
|
|
21446
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(objectProperty)), _step; !(_step = _iterator()).done;){
|
|
21447
|
-
var key = _step.value;
|
|
21448
|
-
var value = objectProperty[key];
|
|
21449
|
-
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(objectProperty)) {
|
|
21450
|
-
// TODO json 数据避免传 typedArray
|
|
21451
|
-
serializedData[key] = value;
|
|
21452
|
-
} else if (isArray(value)) {
|
|
21453
|
-
if (!serializedData[key]) {
|
|
21454
|
-
serializedData[key] = [];
|
|
21455
|
-
}
|
|
21456
|
-
SerializationHelper.serializeArrayProperty(value, serializedData[key], level + 1);
|
|
21457
|
-
} else if (EffectsObject.is(value)) {
|
|
21458
|
-
// TODO 处理 EffectsObject 递归序列化
|
|
21459
|
-
serializedData[key] = {
|
|
21460
|
-
id: value.getInstanceId()
|
|
21461
|
-
};
|
|
21462
|
-
} else if (isObject(value)) {
|
|
21463
|
-
if (!serializedData[key]) {
|
|
21464
|
-
serializedData[key] = {};
|
|
21465
|
-
}
|
|
21466
|
-
SerializationHelper.serializeObjectProperty(value, serializedData[key], level + 1);
|
|
21467
|
-
}
|
|
21468
|
-
}
|
|
21469
|
-
};
|
|
21470
|
-
SerializationHelper.serializeArrayProperty = function serializeArrayProperty(arrayProperty, serializedData, level) {
|
|
21471
|
-
if (level > 14) {
|
|
21472
|
-
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
21473
|
-
return;
|
|
21474
|
-
}
|
|
21475
|
-
if (!serializedData) {
|
|
21476
|
-
serializedData = [];
|
|
21477
|
-
}
|
|
21478
|
-
for(var i = 0; i < arrayProperty.length; i++){
|
|
21479
|
-
var value = arrayProperty[i];
|
|
21480
|
-
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(arrayProperty)) {
|
|
21481
|
-
// TODO json 数据避免传 typedArray
|
|
21482
|
-
serializedData[i] = value;
|
|
21483
|
-
} else if (isArray(value)) {
|
|
21484
|
-
if (!serializedData[i]) {
|
|
21485
|
-
serializedData[i] = [];
|
|
21486
|
-
}
|
|
21487
|
-
SerializationHelper.serializeArrayProperty(value, serializedData[i], level + 1);
|
|
21488
|
-
} else if (EffectsObject.is(value)) {
|
|
21489
|
-
// TODO 处理 EffectsObject 递归序列化
|
|
21490
|
-
serializedData[i] = {
|
|
21491
|
-
id: value.getInstanceId()
|
|
21492
|
-
};
|
|
21493
|
-
} else if (isObject(value)) {
|
|
21494
|
-
if (!serializedData[i]) {
|
|
21495
|
-
serializedData[i] = {};
|
|
21496
|
-
}
|
|
21497
|
-
SerializationHelper.serializeObjectProperty(value, serializedData[i], level + 1);
|
|
21498
|
-
}
|
|
21499
|
-
}
|
|
21500
|
-
};
|
|
21501
|
-
return SerializationHelper;
|
|
21502
|
-
}();
|
|
21503
|
-
|
|
21504
|
-
var _obj$2;
|
|
21505
|
-
/**
|
|
21506
|
-
* 机型和渲染等级对应表
|
|
21507
|
-
*
|
|
21508
|
-
* 机型:B-低端机、A-中端机、S-高端机
|
|
21509
|
-
* 渲染等级:B-低、A-中、S-高、A+-中高、B+-全部
|
|
21510
|
-
*
|
|
21511
|
-
* - S(高端机):高、全部、中高
|
|
21512
|
-
* - A(中端机):中、全部、中高
|
|
21513
|
-
* - B(低端机):低、全部
|
|
21514
|
-
* - undefined(全部机型)
|
|
21515
|
-
*/ var renderLevelPassSet = (_obj$2 = {}, _obj$2[RenderLevel.S] = [
|
|
21516
|
-
RenderLevel.S,
|
|
21517
|
-
RenderLevel.BPlus,
|
|
21518
|
-
RenderLevel.APlus
|
|
21519
|
-
], _obj$2[RenderLevel.A] = [
|
|
21520
|
-
RenderLevel.A,
|
|
21521
|
-
RenderLevel.BPlus,
|
|
21522
|
-
RenderLevel.APlus
|
|
21523
|
-
], _obj$2[RenderLevel.B] = [
|
|
21524
|
-
RenderLevel.B,
|
|
21525
|
-
RenderLevel.BPlus
|
|
21526
|
-
], _obj$2);
|
|
21527
|
-
function passRenderLevel(l, renderLevel) {
|
|
21528
|
-
if (!l || !renderLevel) {
|
|
21529
|
-
return true;
|
|
21530
|
-
}
|
|
21531
|
-
var arr = renderLevelPassSet[renderLevel];
|
|
21532
|
-
if (arr) {
|
|
21533
|
-
return arr.includes(l);
|
|
21534
|
-
}
|
|
21535
|
-
return false;
|
|
21536
|
-
}
|
|
21537
|
-
|
|
21538
21059
|
/**
|
|
21539
21060
|
* 合成抽象类:核心对象,通常一个场景只包含一个合成,可能会有多个合成。
|
|
21540
21061
|
* 合成中包含了相关的 Item 元素,支持对 Item 元素的创建、更新和销毁。
|
|
@@ -21600,10 +21121,16 @@ function passRenderLevel(l, renderLevel) {
|
|
|
21600
21121
|
_this.rootItem.duration = sourceContent.duration;
|
|
21601
21122
|
_this.rootItem.endBehavior = sourceContent.endBehavior;
|
|
21602
21123
|
_this.rootItem.composition = _assert_this_initialized(_this);
|
|
21603
|
-
// Create
|
|
21604
|
-
|
|
21605
|
-
|
|
21606
|
-
|
|
21124
|
+
// Create rootItem components
|
|
21125
|
+
//@ts-expect-error TODO update spec.
|
|
21126
|
+
var componentPaths = sourceContent.components;
|
|
21127
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(componentPaths), _step1; !(_step1 = _iterator1()).done;){
|
|
21128
|
+
var componentPath = _step1.value;
|
|
21129
|
+
var component = _this.getEngine().findObject(componentPath);
|
|
21130
|
+
_this.rootItem.components.push(component);
|
|
21131
|
+
component.item = _this.rootItem;
|
|
21132
|
+
}
|
|
21133
|
+
_this.rootComposition = _this.rootItem.getComponent(CompositionComponent);
|
|
21607
21134
|
_this.width = width;
|
|
21608
21135
|
_this.height = height;
|
|
21609
21136
|
_this.renderOrder = baseRenderOrder;
|
|
@@ -21631,7 +21158,7 @@ function passRenderLevel(l, renderLevel) {
|
|
|
21631
21158
|
_this.handleItemMessage = handleItemMessage;
|
|
21632
21159
|
_this.createRenderFrame();
|
|
21633
21160
|
_this.rendererOptions = null;
|
|
21634
|
-
|
|
21161
|
+
Composition.buildItemTree(_this.rootItem);
|
|
21635
21162
|
_this.rootComposition.setChildrenRenderOrder(0);
|
|
21636
21163
|
_this.pluginSystem.resetComposition(_assert_this_initialized(_this), _this.renderFrame);
|
|
21637
21164
|
return _this;
|
|
@@ -21849,38 +21376,6 @@ function passRenderLevel(l, renderLevel) {
|
|
|
21849
21376
|
}
|
|
21850
21377
|
};
|
|
21851
21378
|
/**
|
|
21852
|
-
* 构建父子树,同时保存到 itemCacheMap 中便于查找
|
|
21853
|
-
*/ _proto.buildItemTree = function buildItemTree(compVFXItem) {
|
|
21854
|
-
if (!compVFXItem.composition) {
|
|
21855
|
-
return;
|
|
21856
|
-
}
|
|
21857
|
-
var itemMap = new Map();
|
|
21858
|
-
var contentItems = compVFXItem.getComponent(CompositionComponent).items;
|
|
21859
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(contentItems), _step; !(_step = _iterator()).done;){
|
|
21860
|
-
var item = _step.value;
|
|
21861
|
-
itemMap.set(item.id, item);
|
|
21862
|
-
}
|
|
21863
|
-
for(var _iterator1 = _create_for_of_iterator_helper_loose(contentItems), _step1; !(_step1 = _iterator1()).done;){
|
|
21864
|
-
var item1 = _step1.value;
|
|
21865
|
-
if (item1.parentId === undefined) {
|
|
21866
|
-
item1.setParent(compVFXItem);
|
|
21867
|
-
} else {
|
|
21868
|
-
var parent = itemMap.get(item1.parentId);
|
|
21869
|
-
if (parent) {
|
|
21870
|
-
item1.setParent(parent);
|
|
21871
|
-
} else {
|
|
21872
|
-
throw new Error("The element references a non-existent element, please check the data.");
|
|
21873
|
-
}
|
|
21874
|
-
}
|
|
21875
|
-
}
|
|
21876
|
-
for(var _iterator2 = _create_for_of_iterator_helper_loose(contentItems), _step2; !(_step2 = _iterator2()).done;){
|
|
21877
|
-
var item2 = _step2.value;
|
|
21878
|
-
if (VFXItem.isComposition(item2)) {
|
|
21879
|
-
this.buildItemTree(item2);
|
|
21880
|
-
}
|
|
21881
|
-
}
|
|
21882
|
-
};
|
|
21883
|
-
/**
|
|
21884
21379
|
* 更新视频数据到纹理
|
|
21885
21380
|
* @override
|
|
21886
21381
|
*/ _proto.updateVideo = function updateVideo() {
|
|
@@ -22239,6 +21734,30 @@ function passRenderLevel(l, renderLevel) {
|
|
|
22239
21734
|
});
|
|
22240
21735
|
})();
|
|
22241
21736
|
};
|
|
21737
|
+
/**
|
|
21738
|
+
* @internal
|
|
21739
|
+
* 构建父子树,同时保存到 itemCacheMap 中便于查找
|
|
21740
|
+
*/ Composition.buildItemTree = function buildItemTree(compVFXItem) {
|
|
21741
|
+
var itemMap = new Map();
|
|
21742
|
+
var contentItems = compVFXItem.getComponent(CompositionComponent).items;
|
|
21743
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(contentItems), _step; !(_step = _iterator()).done;){
|
|
21744
|
+
var item = _step.value;
|
|
21745
|
+
itemMap.set(item.id, item);
|
|
21746
|
+
}
|
|
21747
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(contentItems), _step1; !(_step1 = _iterator1()).done;){
|
|
21748
|
+
var item1 = _step1.value;
|
|
21749
|
+
if (item1.parentId === undefined) {
|
|
21750
|
+
item1.setParent(compVFXItem);
|
|
21751
|
+
} else {
|
|
21752
|
+
var parent = itemMap.get(item1.parentId);
|
|
21753
|
+
if (parent) {
|
|
21754
|
+
item1.setParent(parent);
|
|
21755
|
+
} else {
|
|
21756
|
+
throw new Error("The element references a non-existent element, please check the data.");
|
|
21757
|
+
}
|
|
21758
|
+
}
|
|
21759
|
+
}
|
|
21760
|
+
};
|
|
22242
21761
|
_create_class(Composition, [
|
|
22243
21762
|
{
|
|
22244
21763
|
key: "transform",
|
|
@@ -22300,25 +21819,6 @@ function passRenderLevel(l, renderLevel) {
|
|
|
22300
21819
|
]);
|
|
22301
21820
|
return Composition;
|
|
22302
21821
|
}(EventEmitter);
|
|
22303
|
-
function filterItemsByRenderLevel(composition, engine, renderLevel) {
|
|
22304
|
-
var items = [];
|
|
22305
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(composition.items), _step; !(_step = _iterator()).done;){
|
|
22306
|
-
var itemDataPath = _step.value;
|
|
22307
|
-
var itemProps = engine.findEffectsObjectData(itemDataPath.id);
|
|
22308
|
-
if (passRenderLevel(itemProps.renderLevel, renderLevel)) {
|
|
22309
|
-
items.push(itemDataPath);
|
|
22310
|
-
} else {
|
|
22311
|
-
// 非预合成元素未达到渲染等级的转化为空节点。
|
|
22312
|
-
// 预合成元素有根据 item type 的子元素加载判断,没法保留空节点,这边先整体过滤掉。
|
|
22313
|
-
if (itemProps.type !== ItemType.composition) {
|
|
22314
|
-
itemProps.components = [];
|
|
22315
|
-
items.push(itemDataPath);
|
|
22316
|
-
}
|
|
22317
|
-
}
|
|
22318
|
-
}
|
|
22319
|
-
composition.items = items;
|
|
22320
|
-
return composition;
|
|
22321
|
-
}
|
|
22322
21822
|
|
|
22323
21823
|
var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
22324
21824
|
_inherits(VFXItem, EffectsObject);
|
|
@@ -22331,7 +21831,7 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22331
21831
|
*/ _this.transform = new Transform();
|
|
22332
21832
|
/**
|
|
22333
21833
|
* 元素动画的当前时间
|
|
22334
|
-
*/ _this.time =
|
|
21834
|
+
*/ _this.time = -1;
|
|
22335
21835
|
/**
|
|
22336
21836
|
* 元素动画的持续时间
|
|
22337
21837
|
*/ _this.duration = 0;
|
|
@@ -22342,9 +21842,8 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22342
21842
|
* 元素动画结束时行为(如何处理元素)
|
|
22343
21843
|
*/ _this.endBehavior = EndBehavior.forward;
|
|
22344
21844
|
_this.type = ItemType.base;
|
|
22345
|
-
_this.isDuringPlay = false;
|
|
22346
21845
|
_this.components = [];
|
|
22347
|
-
_this.
|
|
21846
|
+
_this.isDuringPlay = false;
|
|
22348
21847
|
/**
|
|
22349
21848
|
* 元素是否激活
|
|
22350
21849
|
*/ _this.active = true;
|
|
@@ -22612,6 +22111,25 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22612
22111
|
return undefined;
|
|
22613
22112
|
};
|
|
22614
22113
|
/**
|
|
22114
|
+
* 复制 VFXItem,返回一个新的 VFXItem
|
|
22115
|
+
* @since 2.4.0
|
|
22116
|
+
* @returns 复制的新 VFXItem
|
|
22117
|
+
*/ _proto.duplicate = function duplicate() {
|
|
22118
|
+
var previousObjectIDMap = new Map();
|
|
22119
|
+
this.gatherPreviousObjectID(previousObjectIDMap);
|
|
22120
|
+
// 重新设置当前元素和组件的 ID 以及子元素和子元素组件的 ID,避免实例化新的对象时产生碰撞
|
|
22121
|
+
this.resetGUID();
|
|
22122
|
+
var newItem = this.engine.findObject({
|
|
22123
|
+
id: this.defination.id
|
|
22124
|
+
});
|
|
22125
|
+
newItem.resetGUID();
|
|
22126
|
+
this.resetGUID(previousObjectIDMap);
|
|
22127
|
+
if (this.composition) {
|
|
22128
|
+
newItem.setParent(this.composition.rootItem);
|
|
22129
|
+
}
|
|
22130
|
+
return newItem;
|
|
22131
|
+
};
|
|
22132
|
+
/**
|
|
22615
22133
|
* @internal
|
|
22616
22134
|
*/ _proto.beginPlay = function beginPlay() {
|
|
22617
22135
|
this.isDuringPlay = true;
|
|
@@ -22706,19 +22224,18 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22706
22224
|
if (duration < 0) {
|
|
22707
22225
|
throw new Error("Item duration can't be less than 0, see " + HELP_LINK["Item duration can't be less than 0"] + ".");
|
|
22708
22226
|
}
|
|
22709
|
-
|
|
22710
|
-
|
|
22711
|
-
var
|
|
22712
|
-
|
|
22713
|
-
|
|
22714
|
-
this.
|
|
22715
|
-
|
|
22716
|
-
|
|
22717
|
-
|
|
22718
|
-
|
|
22719
|
-
|
|
22227
|
+
if (data.components) {
|
|
22228
|
+
this.components.length = 0;
|
|
22229
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(data.components), _step; !(_step = _iterator()).done;){
|
|
22230
|
+
var componentPath = _step.value;
|
|
22231
|
+
var component = this.engine.findObject(componentPath);
|
|
22232
|
+
this.components.push(component);
|
|
22233
|
+
// TODO ParticleSystemRenderer 现在是动态生成的,后面需要在 json 中单独表示为一个组件
|
|
22234
|
+
if (_instanceof1(component, ParticleSystem)) {
|
|
22235
|
+
if (!this.components.includes(component.renderer)) {
|
|
22236
|
+
this.components.push(component.renderer);
|
|
22237
|
+
}
|
|
22720
22238
|
}
|
|
22721
|
-
this.rendererComponents.push(component.renderer);
|
|
22722
22239
|
}
|
|
22723
22240
|
}
|
|
22724
22241
|
if (VFXItem.isComposition(this)) {
|
|
@@ -22727,24 +22244,24 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22727
22244
|
};
|
|
22728
22245
|
_proto.toData = function toData() {
|
|
22729
22246
|
var _this_parent;
|
|
22730
|
-
this.
|
|
22731
|
-
this.
|
|
22732
|
-
this.
|
|
22247
|
+
this.defination.id = this.guid;
|
|
22248
|
+
this.defination.transform = this.transform.toData();
|
|
22249
|
+
this.defination.dataType = DataType.VFXItemData;
|
|
22733
22250
|
if (((_this_parent = this.parent) == null ? void 0 : _this_parent.name) !== "rootItem") {
|
|
22734
22251
|
var _this_parent1;
|
|
22735
|
-
this.
|
|
22252
|
+
this.defination.parentId = (_this_parent1 = this.parent) == null ? void 0 : _this_parent1.guid;
|
|
22736
22253
|
}
|
|
22737
22254
|
// TODO 统一 sprite 等其他组件的序列化逻辑
|
|
22738
|
-
if (!this.
|
|
22739
|
-
this.
|
|
22255
|
+
if (!this.defination.components) {
|
|
22256
|
+
this.defination.components = [];
|
|
22740
22257
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.components), _step; !(_step = _iterator()).done;){
|
|
22741
22258
|
var component = _step.value;
|
|
22742
22259
|
if (_instanceof1(component, EffectComponent)) {
|
|
22743
|
-
this.
|
|
22260
|
+
this.defination.components.push(component);
|
|
22744
22261
|
}
|
|
22745
22262
|
}
|
|
22746
22263
|
}
|
|
22747
|
-
this.
|
|
22264
|
+
this.defination.content = {};
|
|
22748
22265
|
};
|
|
22749
22266
|
_proto.translateByPixel = function translateByPixel(x, y) {
|
|
22750
22267
|
if (this.composition) {
|
|
@@ -22801,17 +22318,52 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22801
22318
|
if (!props) {
|
|
22802
22319
|
throw new Error("Referenced precomposition with Id: " + refId + " does not exist.");
|
|
22803
22320
|
}
|
|
22804
|
-
|
|
22805
|
-
|
|
22806
|
-
|
|
22807
|
-
|
|
22808
|
-
var
|
|
22809
|
-
|
|
22810
|
-
|
|
22811
|
-
|
|
22812
|
-
|
|
22321
|
+
//@ts-expect-error TODO update spec.
|
|
22322
|
+
var componentPaths = props.components;
|
|
22323
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(componentPaths), _step; !(_step = _iterator()).done;){
|
|
22324
|
+
var componentPath = _step.value;
|
|
22325
|
+
var component = this.engine.findObject(componentPath);
|
|
22326
|
+
component.item = this;
|
|
22327
|
+
this.components.push(component);
|
|
22328
|
+
component.setInstanceId(generateGUID());
|
|
22329
|
+
if (_instanceof1(component, CompositionComponent)) {
|
|
22330
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(component.items), _step1; !(_step1 = _iterator1()).done;){
|
|
22331
|
+
var vfxItem = _step1.value;
|
|
22332
|
+
vfxItem.setInstanceId(generateGUID());
|
|
22333
|
+
for(var _iterator2 = _create_for_of_iterator_helper_loose(vfxItem.components), _step2; !(_step2 = _iterator2()).done;){
|
|
22334
|
+
var component1 = _step2.value;
|
|
22335
|
+
component1.setInstanceId(generateGUID());
|
|
22336
|
+
}
|
|
22337
|
+
}
|
|
22813
22338
|
}
|
|
22814
22339
|
}
|
|
22340
|
+
Composition.buildItemTree(this);
|
|
22341
|
+
};
|
|
22342
|
+
_proto.resetGUID = function resetGUID(previousObjectIDMap) {
|
|
22343
|
+
var _previousObjectIDMap_get;
|
|
22344
|
+
var itemGUID = (_previousObjectIDMap_get = previousObjectIDMap == null ? void 0 : previousObjectIDMap.get(this)) != null ? _previousObjectIDMap_get : generateGUID();
|
|
22345
|
+
this.setInstanceId(itemGUID);
|
|
22346
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.components), _step; !(_step = _iterator()).done;){
|
|
22347
|
+
var component = _step.value;
|
|
22348
|
+
var _previousObjectIDMap_get1;
|
|
22349
|
+
var componentGUID = (_previousObjectIDMap_get1 = previousObjectIDMap == null ? void 0 : previousObjectIDMap.get(component)) != null ? _previousObjectIDMap_get1 : generateGUID();
|
|
22350
|
+
component.setInstanceId(componentGUID);
|
|
22351
|
+
}
|
|
22352
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(this.children), _step1; !(_step1 = _iterator1()).done;){
|
|
22353
|
+
var child = _step1.value;
|
|
22354
|
+
child.resetGUID(previousObjectIDMap);
|
|
22355
|
+
}
|
|
22356
|
+
};
|
|
22357
|
+
_proto.gatherPreviousObjectID = function gatherPreviousObjectID(previousObjectIDMap) {
|
|
22358
|
+
previousObjectIDMap.set(this, this.getInstanceId());
|
|
22359
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.components), _step; !(_step = _iterator()).done;){
|
|
22360
|
+
var component = _step.value;
|
|
22361
|
+
previousObjectIDMap.set(component, component.getInstanceId());
|
|
22362
|
+
}
|
|
22363
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(this.children), _step1; !(_step1 = _iterator1()).done;){
|
|
22364
|
+
var child = _step1.value;
|
|
22365
|
+
child.gatherPreviousObjectID(previousObjectIDMap);
|
|
22366
|
+
}
|
|
22815
22367
|
};
|
|
22816
22368
|
/**
|
|
22817
22369
|
*
|
|
@@ -22918,9 +22470,11 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22918
22470
|
set: function set(value) {
|
|
22919
22471
|
if (this.listIndex !== value) {
|
|
22920
22472
|
this.listIndex = value;
|
|
22921
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(this.
|
|
22922
|
-
var
|
|
22923
|
-
|
|
22473
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.components), _step; !(_step = _iterator()).done;){
|
|
22474
|
+
var component = _step.value;
|
|
22475
|
+
if (_instanceof1(component, RendererComponent)) {
|
|
22476
|
+
component.priority = value;
|
|
22477
|
+
}
|
|
22924
22478
|
}
|
|
22925
22479
|
}
|
|
22926
22480
|
}
|
|
@@ -22944,9 +22498,6 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
22944
22498
|
]);
|
|
22945
22499
|
return VFXItem;
|
|
22946
22500
|
}(EffectsObject);
|
|
22947
|
-
__decorate([
|
|
22948
|
-
serialize()
|
|
22949
|
-
], VFXItem.prototype, "components", void 0);
|
|
22950
22501
|
VFXItem = __decorate([
|
|
22951
22502
|
effectsClass(DataType.VFXItemData)
|
|
22952
22503
|
], VFXItem);
|
|
@@ -27011,8 +26562,6 @@ var BinaryAsset = /*#__PURE__*/ function(EffectsObject) {
|
|
|
27011
26562
|
function BinaryAsset() {
|
|
27012
26563
|
return EffectsObject.apply(this, arguments);
|
|
27013
26564
|
}
|
|
27014
|
-
var _proto = BinaryAsset.prototype;
|
|
27015
|
-
_proto.fromData = function fromData(data) {};
|
|
27016
26565
|
return BinaryAsset;
|
|
27017
26566
|
}(EffectsObject);
|
|
27018
26567
|
__decorate([
|
|
@@ -27022,6 +26571,197 @@ BinaryAsset = __decorate([
|
|
|
27022
26571
|
effectsClass(DataType.BinaryAsset)
|
|
27023
26572
|
], BinaryAsset);
|
|
27024
26573
|
|
|
26574
|
+
var SerializationHelper = /*#__PURE__*/ function() {
|
|
26575
|
+
function SerializationHelper() {}
|
|
26576
|
+
SerializationHelper.serialize = function serialize(effectsObject, serializedData) {
|
|
26577
|
+
effectsObject.toData();
|
|
26578
|
+
if (!serializedData) {
|
|
26579
|
+
serializedData = {};
|
|
26580
|
+
}
|
|
26581
|
+
var serializedProperties = getMergedStore(effectsObject);
|
|
26582
|
+
if (serializedProperties) {
|
|
26583
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
|
|
26584
|
+
var key = _step.value;
|
|
26585
|
+
var value = effectsObject[key];
|
|
26586
|
+
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(value)) {
|
|
26587
|
+
// TODO json 数据避免传 typedArray
|
|
26588
|
+
serializedData[key] = value;
|
|
26589
|
+
} else if (isArray(value)) {
|
|
26590
|
+
if (!serializedData[key]) {
|
|
26591
|
+
serializedData[key] = [];
|
|
26592
|
+
}
|
|
26593
|
+
SerializationHelper.serializeArrayProperty(value, serializedData[key], 0);
|
|
26594
|
+
} else if (EffectsObject.is(value)) {
|
|
26595
|
+
// TODO 处理 EffectsObject 递归序列化
|
|
26596
|
+
serializedData[key] = {
|
|
26597
|
+
id: value.getInstanceId()
|
|
26598
|
+
};
|
|
26599
|
+
} else if (isObject(value)) {
|
|
26600
|
+
if (!serializedData[key]) {
|
|
26601
|
+
serializedData[key] = {};
|
|
26602
|
+
}
|
|
26603
|
+
SerializationHelper.serializeObjectProperty(value, serializedData[key], 0);
|
|
26604
|
+
}
|
|
26605
|
+
}
|
|
26606
|
+
}
|
|
26607
|
+
// TODO 待移除 tagggedProperties 为没有装饰器的临时方案
|
|
26608
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(effectsObject.defination)), _step1; !(_step1 = _iterator1()).done;){
|
|
26609
|
+
var key1 = _step1.value;
|
|
26610
|
+
var value1 = effectsObject.defination[key1];
|
|
26611
|
+
if (typeof value1 === "number" || typeof value1 === "string" || typeof value1 === "boolean" || SerializationHelper.checkTypedArray(value1)) {
|
|
26612
|
+
// TODO json 数据避免传 typedArray
|
|
26613
|
+
serializedData[key1] = value1;
|
|
26614
|
+
} else if (isArray(value1)) {
|
|
26615
|
+
if (!serializedData[key1]) {
|
|
26616
|
+
serializedData[key1] = [];
|
|
26617
|
+
}
|
|
26618
|
+
SerializationHelper.serializeArrayProperty(value1, serializedData[key1], 0);
|
|
26619
|
+
} else if (EffectsObject.is(value1)) {
|
|
26620
|
+
// TODO 处理 EffectsObject 递归序列化
|
|
26621
|
+
serializedData[key1] = {
|
|
26622
|
+
id: value1.getInstanceId()
|
|
26623
|
+
};
|
|
26624
|
+
} else if (isObject(value1)) {
|
|
26625
|
+
if (!serializedData[key1]) {
|
|
26626
|
+
serializedData[key1] = {};
|
|
26627
|
+
}
|
|
26628
|
+
SerializationHelper.serializeObjectProperty(value1, serializedData[key1], 0);
|
|
26629
|
+
}
|
|
26630
|
+
}
|
|
26631
|
+
return serializedData;
|
|
26632
|
+
};
|
|
26633
|
+
SerializationHelper.deserialize = function deserialize(serializedData, effectsObject) {
|
|
26634
|
+
effectsObject.defination = serializedData;
|
|
26635
|
+
var serializedProperties = getMergedStore(effectsObject);
|
|
26636
|
+
var engine = effectsObject.engine;
|
|
26637
|
+
if (serializedProperties) {
|
|
26638
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(serializedProperties)), _step; !(_step = _iterator()).done;){
|
|
26639
|
+
var key = _step.value;
|
|
26640
|
+
var value = serializedData[key];
|
|
26641
|
+
if (value === undefined) {
|
|
26642
|
+
continue;
|
|
26643
|
+
}
|
|
26644
|
+
var propertyType = serializedProperties[key].type;
|
|
26645
|
+
// FIXME: taggedProperties 为 readonly,这里存在强制赋值
|
|
26646
|
+
effectsObject[key] = SerializationHelper.deserializeProperty(value, engine, 0, propertyType);
|
|
26647
|
+
}
|
|
26648
|
+
}
|
|
26649
|
+
effectsObject.fromData(effectsObject.defination);
|
|
26650
|
+
};
|
|
26651
|
+
SerializationHelper.checkTypedArray = function checkTypedArray(obj) {
|
|
26652
|
+
return _instanceof1(obj, Int8Array) || _instanceof1(obj, Uint8Array) || _instanceof1(obj, Uint8ClampedArray) || _instanceof1(obj, Int16Array) || _instanceof1(obj, Uint16Array) || _instanceof1(obj, Int32Array) || _instanceof1(obj, Uint32Array) || _instanceof1(obj, Float32Array) || _instanceof1(obj, Float64Array) || _instanceof1(obj, ArrayBuffer);
|
|
26653
|
+
};
|
|
26654
|
+
// check value is { id: 7e69662e964e4892ae8933f24562395b }
|
|
26655
|
+
SerializationHelper.checkDataPath = function checkDataPath(value) {
|
|
26656
|
+
return !!(isObject(value) && Object.keys(value).length === 1 && "id" in value && isString(value.id) && value.id.length === 32);
|
|
26657
|
+
};
|
|
26658
|
+
// TODO 测试函数,2.0 上线后移除
|
|
26659
|
+
SerializationHelper.checkGLTFNode = function checkGLTFNode(value) {
|
|
26660
|
+
return isObject(value) && value.nodeIndex !== undefined && value.isJoint !== undefined;
|
|
26661
|
+
};
|
|
26662
|
+
SerializationHelper.checkImageSource = function checkImageSource(value) {
|
|
26663
|
+
return isCanvas(value) || _instanceof1(value, HTMLImageElement);
|
|
26664
|
+
};
|
|
26665
|
+
SerializationHelper.deserializeProperty = function deserializeProperty(property, engine, level, type, overrideDataPath) {
|
|
26666
|
+
if (overrideDataPath === void 0) overrideDataPath = true;
|
|
26667
|
+
if (level > 14) {
|
|
26668
|
+
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
26669
|
+
return;
|
|
26670
|
+
}
|
|
26671
|
+
// 加载并链接 DataPath 字段表示的 EffectsObject 引用。Class 对象 copy [key, value] 会丢失对象信息,因此只递归数组对象和普通 js Object 结构对象。
|
|
26672
|
+
if (isArray(property)) {
|
|
26673
|
+
var res = [];
|
|
26674
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(property), _step; !(_step = _iterator()).done;){
|
|
26675
|
+
var value = _step.value;
|
|
26676
|
+
res.push(SerializationHelper.deserializeProperty(value, engine, level + 1, type, overrideDataPath));
|
|
26677
|
+
}
|
|
26678
|
+
return res;
|
|
26679
|
+
// TODO json 数据避免传 typedArray
|
|
26680
|
+
} else if (SerializationHelper.checkDataPath(property)) {
|
|
26681
|
+
var referenceObject = engine.findObject(property);
|
|
26682
|
+
return overrideDataPath ? referenceObject : property;
|
|
26683
|
+
} else if (isObject(property) && property.constructor === Object) {
|
|
26684
|
+
var res1;
|
|
26685
|
+
if (type) {
|
|
26686
|
+
res1 = new type();
|
|
26687
|
+
} else {
|
|
26688
|
+
res1 = {};
|
|
26689
|
+
}
|
|
26690
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(Object.keys(property)), _step1; !(_step1 = _iterator1()).done;){
|
|
26691
|
+
var key = _step1.value;
|
|
26692
|
+
res1[key] = SerializationHelper.deserializeProperty(property[key], engine, level + 1, undefined, overrideDataPath);
|
|
26693
|
+
}
|
|
26694
|
+
return res1;
|
|
26695
|
+
} else {
|
|
26696
|
+
return property;
|
|
26697
|
+
}
|
|
26698
|
+
};
|
|
26699
|
+
SerializationHelper.serializeObjectProperty = function serializeObjectProperty(objectProperty, serializedData, level) {
|
|
26700
|
+
if (level > 14) {
|
|
26701
|
+
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
26702
|
+
return;
|
|
26703
|
+
}
|
|
26704
|
+
if (!serializedData) {
|
|
26705
|
+
serializedData = {};
|
|
26706
|
+
}
|
|
26707
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(Object.keys(objectProperty)), _step; !(_step = _iterator()).done;){
|
|
26708
|
+
var key = _step.value;
|
|
26709
|
+
var value = objectProperty[key];
|
|
26710
|
+
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(objectProperty)) {
|
|
26711
|
+
// TODO json 数据避免传 typedArray
|
|
26712
|
+
serializedData[key] = value;
|
|
26713
|
+
} else if (isArray(value)) {
|
|
26714
|
+
if (!serializedData[key]) {
|
|
26715
|
+
serializedData[key] = [];
|
|
26716
|
+
}
|
|
26717
|
+
SerializationHelper.serializeArrayProperty(value, serializedData[key], level + 1);
|
|
26718
|
+
} else if (EffectsObject.is(value)) {
|
|
26719
|
+
// TODO 处理 EffectsObject 递归序列化
|
|
26720
|
+
serializedData[key] = {
|
|
26721
|
+
id: value.getInstanceId()
|
|
26722
|
+
};
|
|
26723
|
+
} else if (isObject(value)) {
|
|
26724
|
+
if (!serializedData[key]) {
|
|
26725
|
+
serializedData[key] = {};
|
|
26726
|
+
}
|
|
26727
|
+
SerializationHelper.serializeObjectProperty(value, serializedData[key], level + 1);
|
|
26728
|
+
}
|
|
26729
|
+
}
|
|
26730
|
+
};
|
|
26731
|
+
SerializationHelper.serializeArrayProperty = function serializeArrayProperty(arrayProperty, serializedData, level) {
|
|
26732
|
+
if (level > 14) {
|
|
26733
|
+
console.error("The nested object layers of the serialized data exceed the maximum limit.");
|
|
26734
|
+
return;
|
|
26735
|
+
}
|
|
26736
|
+
if (!serializedData) {
|
|
26737
|
+
serializedData = [];
|
|
26738
|
+
}
|
|
26739
|
+
for(var i = 0; i < arrayProperty.length; i++){
|
|
26740
|
+
var value = arrayProperty[i];
|
|
26741
|
+
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean" || SerializationHelper.checkTypedArray(arrayProperty)) {
|
|
26742
|
+
// TODO json 数据避免传 typedArray
|
|
26743
|
+
serializedData[i] = value;
|
|
26744
|
+
} else if (isArray(value)) {
|
|
26745
|
+
if (!serializedData[i]) {
|
|
26746
|
+
serializedData[i] = [];
|
|
26747
|
+
}
|
|
26748
|
+
SerializationHelper.serializeArrayProperty(value, serializedData[i], level + 1);
|
|
26749
|
+
} else if (EffectsObject.is(value)) {
|
|
26750
|
+
// TODO 处理 EffectsObject 递归序列化
|
|
26751
|
+
serializedData[i] = {
|
|
26752
|
+
id: value.getInstanceId()
|
|
26753
|
+
};
|
|
26754
|
+
} else if (isObject(value)) {
|
|
26755
|
+
if (!serializedData[i]) {
|
|
26756
|
+
serializedData[i] = {};
|
|
26757
|
+
}
|
|
26758
|
+
SerializationHelper.serializeObjectProperty(value, serializedData[i], level + 1);
|
|
26759
|
+
}
|
|
26760
|
+
}
|
|
26761
|
+
};
|
|
26762
|
+
return SerializationHelper;
|
|
26763
|
+
}();
|
|
26764
|
+
|
|
27025
26765
|
/**
|
|
27026
26766
|
* @since 2.0.0
|
|
27027
26767
|
*/ var AssetLoader = /*#__PURE__*/ function() {
|
|
@@ -27029,9 +26769,10 @@ BinaryAsset = __decorate([
|
|
|
27029
26769
|
this.engine = engine;
|
|
27030
26770
|
}
|
|
27031
26771
|
var _proto = AssetLoader.prototype;
|
|
27032
|
-
_proto.loadGUID = function loadGUID(
|
|
27033
|
-
|
|
27034
|
-
|
|
26772
|
+
_proto.loadGUID = function loadGUID(dataPath) {
|
|
26773
|
+
var guid = dataPath.id;
|
|
26774
|
+
if (!dataPath) {
|
|
26775
|
+
return null;
|
|
27035
26776
|
}
|
|
27036
26777
|
var effectsObjectData = this.findData(guid);
|
|
27037
26778
|
var effectsObject;
|
|
@@ -27066,92 +26807,6 @@ BinaryAsset = __decorate([
|
|
|
27066
26807
|
SerializationHelper.deserialize(effectsObjectData, effectsObject);
|
|
27067
26808
|
return effectsObject;
|
|
27068
26809
|
};
|
|
27069
|
-
// 加载本地文件资产
|
|
27070
|
-
_proto.loadGUIDAsync = function loadGUIDAsync(guid) {
|
|
27071
|
-
var _this = this;
|
|
27072
|
-
return _async_to_generator(function() {
|
|
27073
|
-
var effectsObjectData, effectsObject, classConstructor;
|
|
27074
|
-
return __generator(this, function(_state) {
|
|
27075
|
-
switch(_state.label){
|
|
27076
|
-
case 0:
|
|
27077
|
-
if (_this.engine.objectInstance[guid]) {
|
|
27078
|
-
return [
|
|
27079
|
-
2,
|
|
27080
|
-
_this.engine.objectInstance[guid]
|
|
27081
|
-
];
|
|
27082
|
-
}
|
|
27083
|
-
effectsObjectData = _this.findData(guid);
|
|
27084
|
-
if (!!effectsObjectData) return [
|
|
27085
|
-
3,
|
|
27086
|
-
2
|
|
27087
|
-
];
|
|
27088
|
-
if (!_this.engine.database) {
|
|
27089
|
-
console.error("Object data with uuid: " + guid + " not found.");
|
|
27090
|
-
return [
|
|
27091
|
-
2,
|
|
27092
|
-
undefined
|
|
27093
|
-
];
|
|
27094
|
-
}
|
|
27095
|
-
return [
|
|
27096
|
-
4,
|
|
27097
|
-
_this.engine.database.loadGUID(guid)
|
|
27098
|
-
];
|
|
27099
|
-
case 1:
|
|
27100
|
-
effectsObject = _state.sent();
|
|
27101
|
-
if (!effectsObject) {
|
|
27102
|
-
console.error("Disk data with uuid: " + guid + " not found.");
|
|
27103
|
-
return [
|
|
27104
|
-
2,
|
|
27105
|
-
undefined
|
|
27106
|
-
];
|
|
27107
|
-
}
|
|
27108
|
-
_this.engine.addInstance(effectsObject);
|
|
27109
|
-
return [
|
|
27110
|
-
2,
|
|
27111
|
-
effectsObject
|
|
27112
|
-
];
|
|
27113
|
-
case 2:
|
|
27114
|
-
switch(effectsObjectData.dataType){
|
|
27115
|
-
case DataType.Material:
|
|
27116
|
-
effectsObject = Material.create(_this.engine);
|
|
27117
|
-
break;
|
|
27118
|
-
case DataType.Geometry:
|
|
27119
|
-
effectsObject = Geometry.create(_this.engine);
|
|
27120
|
-
break;
|
|
27121
|
-
case DataType.Texture:
|
|
27122
|
-
effectsObject = Texture.create(_this.engine);
|
|
27123
|
-
break;
|
|
27124
|
-
default:
|
|
27125
|
-
{
|
|
27126
|
-
classConstructor = AssetLoader.getClass(effectsObjectData.dataType);
|
|
27127
|
-
if (classConstructor) {
|
|
27128
|
-
effectsObject = new classConstructor(_this.engine);
|
|
27129
|
-
}
|
|
27130
|
-
}
|
|
27131
|
-
}
|
|
27132
|
-
if (!effectsObject) {
|
|
27133
|
-
console.error("Constructor for DataType: " + effectsObjectData.dataType + " not found.");
|
|
27134
|
-
return [
|
|
27135
|
-
2,
|
|
27136
|
-
undefined
|
|
27137
|
-
];
|
|
27138
|
-
}
|
|
27139
|
-
effectsObject.setInstanceId(effectsObjectData.id);
|
|
27140
|
-
_this.engine.addInstance(effectsObject);
|
|
27141
|
-
return [
|
|
27142
|
-
4,
|
|
27143
|
-
SerializationHelper.deserializeAsync(effectsObjectData, effectsObject)
|
|
27144
|
-
];
|
|
27145
|
-
case 3:
|
|
27146
|
-
_state.sent();
|
|
27147
|
-
return [
|
|
27148
|
-
2,
|
|
27149
|
-
effectsObject
|
|
27150
|
-
];
|
|
27151
|
-
}
|
|
27152
|
-
});
|
|
27153
|
-
})();
|
|
27154
|
-
};
|
|
27155
26810
|
_proto.findData = function findData(uuid) {
|
|
27156
26811
|
return this.engine.jsonSceneData[uuid];
|
|
27157
26812
|
};
|
|
@@ -27501,35 +27156,35 @@ function rotationZYXFromQuat(out, quat) {
|
|
|
27501
27156
|
];
|
|
27502
27157
|
}
|
|
27503
27158
|
}
|
|
27504
|
-
var _obj$
|
|
27505
|
-
var particleOriginTranslateMap = (_obj$
|
|
27159
|
+
var _obj$2;
|
|
27160
|
+
var particleOriginTranslateMap = (_obj$2 = {}, _obj$2[ParticleOrigin.PARTICLE_ORIGIN_CENTER] = [
|
|
27506
27161
|
0,
|
|
27507
27162
|
0
|
|
27508
|
-
], _obj$
|
|
27163
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_CENTER_BOTTOM] = [
|
|
27509
27164
|
0,
|
|
27510
27165
|
-0.5
|
|
27511
|
-
], _obj$
|
|
27166
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_CENTER_TOP] = [
|
|
27512
27167
|
0,
|
|
27513
27168
|
0.5
|
|
27514
|
-
], _obj$
|
|
27169
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_LEFT_TOP] = [
|
|
27515
27170
|
-0.5,
|
|
27516
27171
|
0.5
|
|
27517
|
-
], _obj$
|
|
27172
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_LEFT_CENTER] = [
|
|
27518
27173
|
-0.5,
|
|
27519
27174
|
0
|
|
27520
|
-
], _obj$
|
|
27175
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_LEFT_BOTTOM] = [
|
|
27521
27176
|
-0.5,
|
|
27522
27177
|
-0.5
|
|
27523
|
-
], _obj$
|
|
27178
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_CENTER] = [
|
|
27524
27179
|
0.5,
|
|
27525
27180
|
0
|
|
27526
|
-
], _obj$
|
|
27181
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_BOTTOM] = [
|
|
27527
27182
|
0.5,
|
|
27528
27183
|
-0.5
|
|
27529
|
-
], _obj$
|
|
27184
|
+
], _obj$2[ParticleOrigin.PARTICLE_ORIGIN_RIGHT_TOP] = [
|
|
27530
27185
|
0.5,
|
|
27531
27186
|
0.5
|
|
27532
|
-
], _obj$
|
|
27187
|
+
], _obj$2);
|
|
27533
27188
|
function getBezierCurveFromHermite(m0, m1, p0, p3) {
|
|
27534
27189
|
var xStart = p0[0];
|
|
27535
27190
|
var yStart = p0[1];
|
|
@@ -27768,28 +27423,6 @@ var refCompositions = new Map();
|
|
|
27768
27423
|
}
|
|
27769
27424
|
}
|
|
27770
27425
|
}
|
|
27771
|
-
// Composition id 转 guid
|
|
27772
|
-
var compositionId = json.compositionId;
|
|
27773
|
-
var compositionIdToGUIDMap = {};
|
|
27774
|
-
for(var _iterator3 = _create_for_of_iterator_helper_loose(json.compositions), _step3; !(_step3 = _iterator3()).done;){
|
|
27775
|
-
var composition = _step3.value;
|
|
27776
|
-
var guid = generateGUID();
|
|
27777
|
-
compositionIdToGUIDMap[composition.id] = guid;
|
|
27778
|
-
if (composition.id === compositionId) {
|
|
27779
|
-
json.compositionId = guid;
|
|
27780
|
-
}
|
|
27781
|
-
composition.id = guid;
|
|
27782
|
-
}
|
|
27783
|
-
// 预合成元素 refId 同步改为生成的合成 guid
|
|
27784
|
-
for(var _iterator4 = _create_for_of_iterator_helper_loose(json.items), _step4; !(_step4 = _iterator4()).done;){
|
|
27785
|
-
var item = _step4.value;
|
|
27786
|
-
if (item.content) {
|
|
27787
|
-
var compositionOptions = item.content.options;
|
|
27788
|
-
if (compositionOptions && compositionOptions.refId !== undefined) {
|
|
27789
|
-
compositionOptions.refId = compositionIdToGUIDMap[compositionOptions.refId];
|
|
27790
|
-
}
|
|
27791
|
-
}
|
|
27792
|
-
}
|
|
27793
27426
|
return json;
|
|
27794
27427
|
}
|
|
27795
27428
|
function version32Migration(json) {
|
|
@@ -27816,21 +27449,68 @@ function version32Migration(json) {
|
|
|
27816
27449
|
itemMap.set(item.id, item);
|
|
27817
27450
|
}
|
|
27818
27451
|
processContent(mainComp);
|
|
27452
|
+
return json;
|
|
27453
|
+
}
|
|
27454
|
+
function version33Migration(json) {
|
|
27819
27455
|
// 老 shape 数据兼容
|
|
27820
|
-
for(var
|
|
27821
|
-
var
|
|
27822
|
-
if (
|
|
27823
|
-
var spriteComponent = componentMap.get(
|
|
27456
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(json.items), _step; !(_step = _iterator()).done;){
|
|
27457
|
+
var item = _step.value;
|
|
27458
|
+
if (item.type === ItemType.sprite) {
|
|
27459
|
+
var spriteComponent = componentMap.get(item.components[0].id);
|
|
27824
27460
|
if (spriteComponent) {
|
|
27825
27461
|
var shape = spriteComponent.renderer.shape;
|
|
27826
27462
|
var shapeData = void 0;
|
|
27827
27463
|
if (Number.isInteger(shape)) {
|
|
27828
27464
|
shapeData = json.shapes[shape];
|
|
27465
|
+
} else {
|
|
27466
|
+
shapeData = shape;
|
|
27829
27467
|
}
|
|
27830
27468
|
spriteComponent.renderer.shape = shapeData;
|
|
27831
27469
|
}
|
|
27832
27470
|
}
|
|
27833
27471
|
}
|
|
27472
|
+
// Composition id 转 guid, Composition 分离 CompositionComponent
|
|
27473
|
+
var compositionId = json.compositionId;
|
|
27474
|
+
var compositionIdToGUIDMap = {};
|
|
27475
|
+
for(var _iterator1 = _create_for_of_iterator_helper_loose(json.compositions), _step1; !(_step1 = _iterator1()).done;){
|
|
27476
|
+
var composition = _step1.value;
|
|
27477
|
+
var guid = generateGUID();
|
|
27478
|
+
compositionIdToGUIDMap[composition.id] = guid;
|
|
27479
|
+
if (composition.id === compositionId) {
|
|
27480
|
+
json.compositionId = guid;
|
|
27481
|
+
}
|
|
27482
|
+
composition.id = guid;
|
|
27483
|
+
var compositionComponent = {
|
|
27484
|
+
id: generateGUID(),
|
|
27485
|
+
dataType: "CompositionComponent",
|
|
27486
|
+
items: composition.items,
|
|
27487
|
+
timelineAsset: composition.timelineAsset,
|
|
27488
|
+
sceneBindings: composition.sceneBindings,
|
|
27489
|
+
startTime: composition.startTime
|
|
27490
|
+
};
|
|
27491
|
+
//@ts-expect-error
|
|
27492
|
+
composition.timelineAsset = undefined;
|
|
27493
|
+
//@ts-expect-error
|
|
27494
|
+
composition.sceneBindings = undefined;
|
|
27495
|
+
composition.startTime = undefined;
|
|
27496
|
+
//@ts-expect-error
|
|
27497
|
+
composition.components = [
|
|
27498
|
+
{
|
|
27499
|
+
id: compositionComponent.id
|
|
27500
|
+
}
|
|
27501
|
+
];
|
|
27502
|
+
json.components.push(compositionComponent);
|
|
27503
|
+
}
|
|
27504
|
+
// 预合成元素 refId 同步改为生成的合成 guid
|
|
27505
|
+
for(var _iterator2 = _create_for_of_iterator_helper_loose(json.items), _step2; !(_step2 = _iterator2()).done;){
|
|
27506
|
+
var item1 = _step2.value;
|
|
27507
|
+
if (item1.content) {
|
|
27508
|
+
var compositionOptions = item1.content.options;
|
|
27509
|
+
if (compositionOptions && compositionOptions.refId !== undefined) {
|
|
27510
|
+
compositionOptions.refId = compositionIdToGUIDMap[compositionOptions.refId];
|
|
27511
|
+
}
|
|
27512
|
+
}
|
|
27513
|
+
}
|
|
27834
27514
|
return json;
|
|
27835
27515
|
}
|
|
27836
27516
|
function processContent(composition) {
|
|
@@ -28704,7 +28384,7 @@ function getStandardJSON(json) {
|
|
|
28704
28384
|
if (v0.test(json.version)) {
|
|
28705
28385
|
var _exec;
|
|
28706
28386
|
reverseParticle = ((_exec = /^(\d+)/.exec(json.version)) == null ? void 0 : _exec[0]) === "0";
|
|
28707
|
-
return version32Migration(version31Migration(version30Migration(version21Migration(getStandardJSONFromV0(json)))));
|
|
28387
|
+
return version33Migration(version32Migration(version31Migration(version30Migration(version21Migration(getStandardJSONFromV0(json))))));
|
|
28708
28388
|
}
|
|
28709
28389
|
reverseParticle = false;
|
|
28710
28390
|
var vs = standardVersion.exec(json.version) || [];
|
|
@@ -28729,6 +28409,9 @@ function getStandardJSON(json) {
|
|
|
28729
28409
|
if (minorVersion < 3) {
|
|
28730
28410
|
json = version32Migration(json);
|
|
28731
28411
|
}
|
|
28412
|
+
if (minorVersion < 4) {
|
|
28413
|
+
json = version33Migration(json);
|
|
28414
|
+
}
|
|
28732
28415
|
}
|
|
28733
28416
|
return json;
|
|
28734
28417
|
}
|
|
@@ -29012,6 +28695,40 @@ function getStandardItem(item, opt) {
|
|
|
29012
28695
|
}
|
|
29013
28696
|
}
|
|
29014
28697
|
|
|
28698
|
+
var _obj$1;
|
|
28699
|
+
/**
|
|
28700
|
+
* 机型和渲染等级对应表
|
|
28701
|
+
*
|
|
28702
|
+
* 机型:B-低端机、A-中端机、S-高端机
|
|
28703
|
+
* 渲染等级:B-低、A-中、S-高、A+-中高、B+-全部
|
|
28704
|
+
*
|
|
28705
|
+
* - S(高端机):高、全部、中高
|
|
28706
|
+
* - A(中端机):中、全部、中高
|
|
28707
|
+
* - B(低端机):低、全部
|
|
28708
|
+
* - undefined(全部机型)
|
|
28709
|
+
*/ var renderLevelPassSet = (_obj$1 = {}, _obj$1[RenderLevel.S] = [
|
|
28710
|
+
RenderLevel.S,
|
|
28711
|
+
RenderLevel.BPlus,
|
|
28712
|
+
RenderLevel.APlus
|
|
28713
|
+
], _obj$1[RenderLevel.A] = [
|
|
28714
|
+
RenderLevel.A,
|
|
28715
|
+
RenderLevel.BPlus,
|
|
28716
|
+
RenderLevel.APlus
|
|
28717
|
+
], _obj$1[RenderLevel.B] = [
|
|
28718
|
+
RenderLevel.B,
|
|
28719
|
+
RenderLevel.BPlus
|
|
28720
|
+
], _obj$1);
|
|
28721
|
+
function passRenderLevel(l, renderLevel) {
|
|
28722
|
+
if (!l || !renderLevel) {
|
|
28723
|
+
return true;
|
|
28724
|
+
}
|
|
28725
|
+
var arr = renderLevelPassSet[renderLevel];
|
|
28726
|
+
if (arr) {
|
|
28727
|
+
return arr.includes(l);
|
|
28728
|
+
}
|
|
28729
|
+
return false;
|
|
28730
|
+
}
|
|
28731
|
+
|
|
29015
28732
|
var Scene;
|
|
29016
28733
|
(function(Scene) {
|
|
29017
28734
|
function isJSONObject(scene) {
|
|
@@ -29911,7 +29628,9 @@ function createTextureOptionsBySource(image, sourceFrom, id) {
|
|
|
29911
29628
|
if (_instanceof1(textureOptions, Texture)) {
|
|
29912
29629
|
this.engine.addInstance(textureOptions);
|
|
29913
29630
|
} else {
|
|
29914
|
-
textureOptions = this.engine.
|
|
29631
|
+
textureOptions = this.engine.findObject({
|
|
29632
|
+
id: scene.textureOptions[i].id
|
|
29633
|
+
});
|
|
29915
29634
|
scene.textureOptions[i] = textureOptions;
|
|
29916
29635
|
}
|
|
29917
29636
|
textureOptions.initialize();
|
|
@@ -31558,8 +31277,18 @@ var FBGeometryDataT = /*#__PURE__*/ function() {
|
|
|
31558
31277
|
_proto.addInstance = function addInstance(effectsObject) {
|
|
31559
31278
|
this.objectInstance[effectsObject.getInstanceId()] = effectsObject;
|
|
31560
31279
|
};
|
|
31561
|
-
|
|
31562
|
-
|
|
31280
|
+
/**
|
|
31281
|
+
* @ignore
|
|
31282
|
+
*/ _proto.findObject = function findObject(guid) {
|
|
31283
|
+
// 编辑器可能传 Class 对象,这边判断处理一下直接返回原对象。
|
|
31284
|
+
if (!(isObject(guid) && guid.constructor === Object)) {
|
|
31285
|
+
return guid;
|
|
31286
|
+
}
|
|
31287
|
+
if (this.objectInstance[guid.id]) {
|
|
31288
|
+
return this.objectInstance[guid.id];
|
|
31289
|
+
}
|
|
31290
|
+
var result = this.assetLoader.loadGUID(guid);
|
|
31291
|
+
return result;
|
|
31563
31292
|
};
|
|
31564
31293
|
_proto.removeInstance = function removeInstance(id) {
|
|
31565
31294
|
delete this.objectInstance[id];
|
|
@@ -31573,6 +31302,10 @@ var FBGeometryDataT = /*#__PURE__*/ function() {
|
|
|
31573
31302
|
}
|
|
31574
31303
|
for(var _iterator1 = _create_for_of_iterator_helper_loose(items), _step1; !(_step1 = _iterator1()).done;){
|
|
31575
31304
|
var vfxItemData = _step1.value;
|
|
31305
|
+
if (!passRenderLevel(vfxItemData.renderLevel, scene.renderLevel)) {
|
|
31306
|
+
vfxItemData.components = [];
|
|
31307
|
+
vfxItemData.type = ItemType.null;
|
|
31308
|
+
}
|
|
31576
31309
|
this.addEffectsObjectData(vfxItemData);
|
|
31577
31310
|
}
|
|
31578
31311
|
for(var _iterator2 = _create_for_of_iterator_helper_loose(materials), _step2; !(_step2 = _iterator2()).done;){
|
|
@@ -31627,45 +31360,20 @@ var FBGeometryDataT = /*#__PURE__*/ function() {
|
|
|
31627
31360
|
return _async_to_generator(function() {
|
|
31628
31361
|
var jsonScene, _iterator, _step, itemData, itemType;
|
|
31629
31362
|
return __generator(this, function(_state) {
|
|
31630
|
-
|
|
31631
|
-
|
|
31632
|
-
|
|
31633
|
-
|
|
31634
|
-
|
|
31635
|
-
|
|
31636
|
-
|
|
31637
|
-
|
|
31638
|
-
|
|
31639
|
-
|
|
31640
|
-
itemData = _step.value;
|
|
31641
|
-
itemType = itemData.type;
|
|
31642
|
-
if (!(itemType === "ECS" || itemType === "camera" || itemType === ItemType.sprite || itemType === ItemType.particle || itemType === ItemType.mesh || itemType === ItemType.skybox || itemType === ItemType.light || itemType === ItemType.tree || itemType === ItemType.interact || itemType === ItemType.camera)) {
|
|
31643
|
-
return [
|
|
31644
|
-
3,
|
|
31645
|
-
3
|
|
31646
|
-
];
|
|
31647
|
-
}
|
|
31648
|
-
if (!_this.database) return [
|
|
31649
|
-
3,
|
|
31650
|
-
3
|
|
31651
|
-
];
|
|
31652
|
-
return [
|
|
31653
|
-
4,
|
|
31654
|
-
_this.assetLoader.loadGUIDAsync(itemData.id)
|
|
31655
|
-
];
|
|
31656
|
-
case 2:
|
|
31657
|
-
_state.sent();
|
|
31658
|
-
_state.label = 3;
|
|
31659
|
-
case 3:
|
|
31660
|
-
return [
|
|
31661
|
-
3,
|
|
31662
|
-
1
|
|
31663
|
-
];
|
|
31664
|
-
case 4:
|
|
31665
|
-
return [
|
|
31666
|
-
2
|
|
31667
|
-
];
|
|
31363
|
+
jsonScene = scene.jsonScene;
|
|
31364
|
+
for(_iterator = _create_for_of_iterator_helper_loose(jsonScene.items); !(_step = _iterator()).done;){
|
|
31365
|
+
itemData = _step.value;
|
|
31366
|
+
itemType = itemData.type;
|
|
31367
|
+
if (!(itemType === "ECS" || itemType === "camera" || itemType === ItemType.sprite || itemType === ItemType.particle || itemType === ItemType.mesh || itemType === ItemType.skybox || itemType === ItemType.light || itemType === ItemType.tree || itemType === ItemType.interact || itemType === ItemType.camera)) {
|
|
31368
|
+
continue;
|
|
31369
|
+
}
|
|
31370
|
+
if (_this.database) {
|
|
31371
|
+
_this.assetLoader.loadGUID(itemData);
|
|
31372
|
+
}
|
|
31668
31373
|
}
|
|
31374
|
+
return [
|
|
31375
|
+
2
|
|
31376
|
+
];
|
|
31669
31377
|
});
|
|
31670
31378
|
})();
|
|
31671
31379
|
};
|
|
@@ -31913,7 +31621,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
|
|
|
31913
31621
|
registerPlugin("particle", ParticleLoader, VFXItem);
|
|
31914
31622
|
registerPlugin("cal", CalculateLoader, VFXItem);
|
|
31915
31623
|
registerPlugin("interact", InteractLoader, VFXItem);
|
|
31916
|
-
var version$1 = "2.4.0-beta.
|
|
31624
|
+
var version$1 = "2.4.0-beta.1";
|
|
31917
31625
|
logger.info("Core version: " + version$1 + ".");
|
|
31918
31626
|
|
|
31919
31627
|
var _obj;
|
|
@@ -33504,8 +33212,8 @@ setMaxSpriteMeshItemCount(8);
|
|
|
33504
33212
|
*/ Mesh.create = function(engine, props) {
|
|
33505
33213
|
return new ThreeMesh(engine, props);
|
|
33506
33214
|
};
|
|
33507
|
-
var version = "2.4.0-beta.
|
|
33215
|
+
var version = "2.4.0-beta.1";
|
|
33508
33216
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33509
33217
|
|
|
33510
|
-
export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Ellipse, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphicsPath, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, MaskMode, MaskProcessor, MaskRefManager, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PluginSystem, PolyStar, Polygon, PostProcessVolume, PropertyTrack, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapePath, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StarType, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector2Curve, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, buildLine, calculateTranslation, canvasPool, closePointEps, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3,
|
|
33218
|
+
export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Ellipse, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphicsPath, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, MaskMode, MaskProcessor, MaskRefManager, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PluginSystem, PolyStar, Polygon, PostProcessVolume, PropertyTrack, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapePath, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StarType, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector2Curve, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, buildLine, calculateTranslation, canvasPool, closePointEps, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrame_frag as itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, passRenderLevel, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
|
|
33511
33219
|
//# sourceMappingURL=index.mjs.map
|