@galacean/effects-core 2.2.2 → 2.2.3
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/asset-loader.d.ts +1 -2
- package/dist/index.js +127 -100
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +127 -100
- package/dist/index.mjs.map +1 -1
- package/dist/plugins/text/text-item.d.ts +2 -0
- package/dist/vfx-item.d.ts +5 -12
- package/package.json +1 -1
package/dist/asset-loader.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as spec from '@galacean/effects-specification';
|
|
2
2
|
import type { EffectsObject } from './effects-object';
|
|
3
3
|
import type { Engine } from './engine';
|
|
4
|
-
import type { VFXItemProps } from './vfx-item';
|
|
5
4
|
/**
|
|
6
5
|
* @since 2.0.0
|
|
7
6
|
*/
|
|
@@ -22,7 +21,7 @@ export interface EffectComponentData extends spec.EffectsObjectData {
|
|
|
22
21
|
materials: spec.DataPath[];
|
|
23
22
|
geometry: spec.DataPath;
|
|
24
23
|
}
|
|
25
|
-
export type VFXItemData =
|
|
24
|
+
export type VFXItemData = spec.Item & {
|
|
26
25
|
dataType: spec.DataType;
|
|
27
26
|
components: spec.DataPath[];
|
|
28
27
|
};
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime core for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v2.2.
|
|
6
|
+
* Version: v2.2.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -16624,8 +16624,16 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
16624
16624
|
_proto.onEnable = function onEnable() {
|
|
16625
16625
|
RendererComponent.prototype.onEnable.call(this);
|
|
16626
16626
|
var type = this.interactData.options.type;
|
|
16627
|
+
var env = this.item.engine.renderer.env;
|
|
16627
16628
|
if (type === InteractType.CLICK) {
|
|
16628
16629
|
this.clickable = true;
|
|
16630
|
+
} else if (type === InteractType.DRAG) {
|
|
16631
|
+
var options = this.interactData.options;
|
|
16632
|
+
var enableInEditor = options.enableInEditor;
|
|
16633
|
+
if (env !== PLAYER_OPTIONS_ENV_EDITOR || enableInEditor) {
|
|
16634
|
+
var _this_item_composition;
|
|
16635
|
+
((_this_item_composition = this.item.composition) == null ? void 0 : _this_item_composition.event) && this.beginDragTarget(options, this.item.composition.event);
|
|
16636
|
+
}
|
|
16629
16637
|
}
|
|
16630
16638
|
};
|
|
16631
16639
|
_proto.onUpdate = function onUpdate(dt) {
|
|
@@ -17161,6 +17169,83 @@ var PlayState;
|
|
|
17161
17169
|
PlayState[PlayState["Paused"] = 1] = "Paused";
|
|
17162
17170
|
})(PlayState || (PlayState = {}));
|
|
17163
17171
|
|
|
17172
|
+
/**
|
|
17173
|
+
*
|
|
17174
|
+
*/ /**
|
|
17175
|
+
* 事件监听器
|
|
17176
|
+
*/ var EventEmitter = function EventEmitter() {
|
|
17177
|
+
var _this = this;
|
|
17178
|
+
var _this1 = this;
|
|
17179
|
+
this.listeners = {};
|
|
17180
|
+
/**
|
|
17181
|
+
* 移除事件监听器
|
|
17182
|
+
* @param eventName - 事件名称
|
|
17183
|
+
* @param listener - 事件监听器
|
|
17184
|
+
* @returns
|
|
17185
|
+
*/ this.off = function(eventName, listener) {
|
|
17186
|
+
if (!_this.listeners[eventName]) {
|
|
17187
|
+
return;
|
|
17188
|
+
}
|
|
17189
|
+
_this.listeners[eventName] = _this.listeners[eventName].filter(function(param) {
|
|
17190
|
+
var l = param.listener;
|
|
17191
|
+
return l !== listener;
|
|
17192
|
+
});
|
|
17193
|
+
};
|
|
17194
|
+
/**
|
|
17195
|
+
* 监听事件
|
|
17196
|
+
* @param eventName - 事件名称
|
|
17197
|
+
* @param listener - 事件监听器
|
|
17198
|
+
* @param options - 事件监听器选项
|
|
17199
|
+
* @returns
|
|
17200
|
+
*/ this.on = function(eventName, listener, options) {
|
|
17201
|
+
_this.listeners[eventName] = _this.listeners[eventName] || [];
|
|
17202
|
+
_this.listeners[eventName].push({
|
|
17203
|
+
listener: listener,
|
|
17204
|
+
options: options
|
|
17205
|
+
});
|
|
17206
|
+
return function() {
|
|
17207
|
+
return _this.off(eventName, listener);
|
|
17208
|
+
};
|
|
17209
|
+
};
|
|
17210
|
+
/**
|
|
17211
|
+
* 一次性监听事件
|
|
17212
|
+
* @param eventName - 事件名称
|
|
17213
|
+
* @param listener - 事件监听器
|
|
17214
|
+
*/ this.once = function(eventName, listener) {
|
|
17215
|
+
_this.on(eventName, listener, {
|
|
17216
|
+
once: true
|
|
17217
|
+
});
|
|
17218
|
+
};
|
|
17219
|
+
/**
|
|
17220
|
+
* 触发事件
|
|
17221
|
+
* @param eventName - 事件名称
|
|
17222
|
+
* @param args - 事件参数
|
|
17223
|
+
*/ this.emit = function(eventName) {
|
|
17224
|
+
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
17225
|
+
args[_key - 1] = arguments[_key];
|
|
17226
|
+
}
|
|
17227
|
+
var _this_listeners_eventName;
|
|
17228
|
+
(_this_listeners_eventName = _this1.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.forEach(function(param) {
|
|
17229
|
+
var listener = param.listener, options = param.options;
|
|
17230
|
+
listener.apply(void 0, [].concat(args));
|
|
17231
|
+
if (options == null ? void 0 : options.once) {
|
|
17232
|
+
_this1.off(eventName, listener);
|
|
17233
|
+
}
|
|
17234
|
+
});
|
|
17235
|
+
};
|
|
17236
|
+
/**
|
|
17237
|
+
* 获取事件名称对应的所有监听器
|
|
17238
|
+
* @param eventName - 事件名称
|
|
17239
|
+
* @returns - 返回事件名称对应的所有监听器
|
|
17240
|
+
*/ this.getListeners = function(eventName) {
|
|
17241
|
+
var _this_listeners_eventName;
|
|
17242
|
+
return ((_this_listeners_eventName = _this.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.map(function(param) {
|
|
17243
|
+
var listener = param.listener;
|
|
17244
|
+
return listener;
|
|
17245
|
+
})) || [];
|
|
17246
|
+
};
|
|
17247
|
+
};
|
|
17248
|
+
|
|
17164
17249
|
var tempQuat$1 = new Quaternion();
|
|
17165
17250
|
var seed$3 = 1;
|
|
17166
17251
|
// TODO 继承 Component
|
|
@@ -17631,83 +17716,6 @@ var seed$3 = 1;
|
|
|
17631
17716
|
return Transform;
|
|
17632
17717
|
}();
|
|
17633
17718
|
|
|
17634
|
-
/**
|
|
17635
|
-
*
|
|
17636
|
-
*/ /**
|
|
17637
|
-
* 事件监听器
|
|
17638
|
-
*/ var EventEmitter = function EventEmitter() {
|
|
17639
|
-
var _this = this;
|
|
17640
|
-
var _this1 = this;
|
|
17641
|
-
this.listeners = {};
|
|
17642
|
-
/**
|
|
17643
|
-
* 移除事件监听器
|
|
17644
|
-
* @param eventName - 事件名称
|
|
17645
|
-
* @param listener - 事件监听器
|
|
17646
|
-
* @returns
|
|
17647
|
-
*/ this.off = function(eventName, listener) {
|
|
17648
|
-
if (!_this.listeners[eventName]) {
|
|
17649
|
-
return;
|
|
17650
|
-
}
|
|
17651
|
-
_this.listeners[eventName] = _this.listeners[eventName].filter(function(param) {
|
|
17652
|
-
var l = param.listener;
|
|
17653
|
-
return l !== listener;
|
|
17654
|
-
});
|
|
17655
|
-
};
|
|
17656
|
-
/**
|
|
17657
|
-
* 监听事件
|
|
17658
|
-
* @param eventName - 事件名称
|
|
17659
|
-
* @param listener - 事件监听器
|
|
17660
|
-
* @param options - 事件监听器选项
|
|
17661
|
-
* @returns
|
|
17662
|
-
*/ this.on = function(eventName, listener, options) {
|
|
17663
|
-
_this.listeners[eventName] = _this.listeners[eventName] || [];
|
|
17664
|
-
_this.listeners[eventName].push({
|
|
17665
|
-
listener: listener,
|
|
17666
|
-
options: options
|
|
17667
|
-
});
|
|
17668
|
-
return function() {
|
|
17669
|
-
return _this.off(eventName, listener);
|
|
17670
|
-
};
|
|
17671
|
-
};
|
|
17672
|
-
/**
|
|
17673
|
-
* 一次性监听事件
|
|
17674
|
-
* @param eventName - 事件名称
|
|
17675
|
-
* @param listener - 事件监听器
|
|
17676
|
-
*/ this.once = function(eventName, listener) {
|
|
17677
|
-
_this.on(eventName, listener, {
|
|
17678
|
-
once: true
|
|
17679
|
-
});
|
|
17680
|
-
};
|
|
17681
|
-
/**
|
|
17682
|
-
* 触发事件
|
|
17683
|
-
* @param eventName - 事件名称
|
|
17684
|
-
* @param args - 事件参数
|
|
17685
|
-
*/ this.emit = function(eventName) {
|
|
17686
|
-
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
17687
|
-
args[_key - 1] = arguments[_key];
|
|
17688
|
-
}
|
|
17689
|
-
var _this_listeners_eventName;
|
|
17690
|
-
(_this_listeners_eventName = _this1.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.forEach(function(param) {
|
|
17691
|
-
var listener = param.listener, options = param.options;
|
|
17692
|
-
listener.apply(void 0, [].concat(args));
|
|
17693
|
-
if (options == null ? void 0 : options.once) {
|
|
17694
|
-
_this1.off(eventName, listener);
|
|
17695
|
-
}
|
|
17696
|
-
});
|
|
17697
|
-
};
|
|
17698
|
-
/**
|
|
17699
|
-
* 获取事件名称对应的所有监听器
|
|
17700
|
-
* @param eventName - 事件名称
|
|
17701
|
-
* @returns - 返回事件名称对应的所有监听器
|
|
17702
|
-
*/ this.getListeners = function(eventName) {
|
|
17703
|
-
var _this_listeners_eventName;
|
|
17704
|
-
return ((_this_listeners_eventName = _this.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.map(function(param) {
|
|
17705
|
-
var listener = param.listener;
|
|
17706
|
-
return listener;
|
|
17707
|
-
})) || [];
|
|
17708
|
-
};
|
|
17709
|
-
};
|
|
17710
|
-
|
|
17711
17719
|
exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
17712
17720
|
_inherits(VFXItem, EffectsObject);
|
|
17713
17721
|
function VFXItem(engine, props) {
|
|
@@ -18057,42 +18065,36 @@ exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
18057
18065
|
EffectsObject.prototype.fromData.call(this, data);
|
|
18058
18066
|
var id = data.id, name = data.name, delay = data.delay, parentId = data.parentId, endBehavior = data.endBehavior, transform = data.transform, _data_duration = data.duration, duration = _data_duration === void 0 ? 0 : _data_duration;
|
|
18059
18067
|
this.props = data;
|
|
18060
|
-
//@ts-expect-error
|
|
18061
18068
|
this.type = data.type;
|
|
18062
18069
|
this.id = id.toString(); // TODO 老数据 id 是 number,需要转换
|
|
18063
18070
|
this.name = name;
|
|
18064
18071
|
this.start = delay ? delay : this.start;
|
|
18072
|
+
var transformProps = {};
|
|
18065
18073
|
if (transform) {
|
|
18066
|
-
|
|
18067
|
-
transform.position = new Vector3().copyFrom(transform.position);
|
|
18074
|
+
transformProps.position = new Vector3().copyFrom(transform.position);
|
|
18068
18075
|
// FIXME: transform.rotation待删除
|
|
18076
|
+
//@ts-expect-error
|
|
18069
18077
|
if (transform.quat) {
|
|
18070
18078
|
//@ts-expect-error
|
|
18071
|
-
|
|
18079
|
+
transformProps.quat = new Quaternion(transform.quat.x, transform.quat.y, transform.quat.z, transform.quat.w);
|
|
18072
18080
|
} else {
|
|
18073
18081
|
var _transform_eulerHint;
|
|
18074
18082
|
//@ts-expect-error
|
|
18075
|
-
|
|
18083
|
+
transformProps.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
|
|
18076
18084
|
}
|
|
18077
|
-
|
|
18078
|
-
transform.scale = new Vector3().copyFrom(transform.scale);
|
|
18079
|
-
//@ts-expect-error
|
|
18085
|
+
transformProps.scale = new Vector3().copyFrom(transform.scale);
|
|
18080
18086
|
if (transform.size) {
|
|
18081
|
-
|
|
18082
|
-
transform.size = new Vector2().copyFrom(transform.size);
|
|
18087
|
+
transformProps.size = new Vector2().copyFrom(transform.size);
|
|
18083
18088
|
}
|
|
18084
|
-
//@ts-expect-error
|
|
18085
18089
|
if (transform.anchor) {
|
|
18086
|
-
|
|
18087
|
-
transform.anchor = new Vector2().copyFrom(transform.anchor);
|
|
18090
|
+
transformProps.anchor = new Vector2().copyFrom(transform.anchor);
|
|
18088
18091
|
}
|
|
18089
|
-
this.transform.setTransform(
|
|
18092
|
+
this.transform.setTransform(transformProps);
|
|
18090
18093
|
}
|
|
18091
18094
|
this.transform.name = this.name;
|
|
18092
18095
|
this.transform.engine = this.engine;
|
|
18093
18096
|
this.parentId = parentId;
|
|
18094
18097
|
this.duration = duration;
|
|
18095
|
-
// TODO spec endbehavior 类型修正
|
|
18096
18098
|
this.endBehavior = endBehavior;
|
|
18097
18099
|
if (!data.content) {
|
|
18098
18100
|
data.content = {
|
|
@@ -24884,9 +24886,23 @@ exports.TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
24884
24886
|
order: listIndex
|
|
24885
24887
|
};
|
|
24886
24888
|
this.interaction = interaction;
|
|
24889
|
+
this.cachePrefix = "-";
|
|
24890
|
+
this.renderInfo = getImageItemRenderInfo(this);
|
|
24891
|
+
var material = this.createMaterial(this.renderInfo, 2);
|
|
24892
|
+
this.worldMatrix = Matrix4.fromIdentity();
|
|
24893
|
+
this.material = material;
|
|
24894
|
+
this.material.setVector4("_TexOffset", new Vector4().setFromArray([
|
|
24895
|
+
0,
|
|
24896
|
+
0,
|
|
24897
|
+
1,
|
|
24898
|
+
1
|
|
24899
|
+
]));
|
|
24900
|
+
// TextComponentBase
|
|
24887
24901
|
this.updateWithOptions(options);
|
|
24888
|
-
// Text
|
|
24889
24902
|
this.updateTexture();
|
|
24903
|
+
this.setItem();
|
|
24904
|
+
// 恢复默认颜色
|
|
24905
|
+
this.material.setVector4("_Color", new Vector4(1, 1, 1, 1));
|
|
24890
24906
|
};
|
|
24891
24907
|
_proto.updateWithOptions = function updateWithOptions(options) {
|
|
24892
24908
|
// OVERRIDE by mixins
|
|
@@ -25204,7 +25220,7 @@ var TextComponentBase = /*#__PURE__*/ function() {
|
|
|
25204
25220
|
}
|
|
25205
25221
|
//与 toDataURL() 两种方式都需要像素读取操作
|
|
25206
25222
|
var imageData = context.getImageData(0, 0, this.canvas.width, this.canvas.height);
|
|
25207
|
-
|
|
25223
|
+
var texture = Texture.createWithData(this.engine, {
|
|
25208
25224
|
data: new Uint8Array(imageData.data),
|
|
25209
25225
|
width: imageData.width,
|
|
25210
25226
|
height: imageData.height
|
|
@@ -25214,7 +25230,8 @@ var TextComponentBase = /*#__PURE__*/ function() {
|
|
|
25214
25230
|
minFilter: glContext.LINEAR,
|
|
25215
25231
|
wrapS: glContext.CLAMP_TO_EDGE,
|
|
25216
25232
|
wrapT: glContext.CLAMP_TO_EDGE
|
|
25217
|
-
})
|
|
25233
|
+
});
|
|
25234
|
+
this.renderer.texture = texture;
|
|
25218
25235
|
this.isDirty = false;
|
|
25219
25236
|
};
|
|
25220
25237
|
_proto.getFontDesc = function getFontDesc() {
|
|
@@ -28402,7 +28419,7 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28402
28419
|
var sourceItemData = this.engine.jsonSceneData[itemDataPath.id];
|
|
28403
28420
|
var itemProps = sourceItemData;
|
|
28404
28421
|
if (passRenderLevel(sourceItemData.renderLevel, this.renderLevel)) {
|
|
28405
|
-
if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle || itemProps.type === ItemType.spine || //@ts-expect-error
|
|
28422
|
+
if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle || itemProps.type === ItemType.spine || itemProps.type === ItemType.text || itemProps.type === ItemType.video || //@ts-expect-error
|
|
28406
28423
|
itemProps.type === ItemType.shape) {
|
|
28407
28424
|
for(var _iterator2 = _create_for_of_iterator_helper_loose(itemProps.components), _step2; !(_step2 = _iterator2()).done;){
|
|
28408
28425
|
var componentPath = _step2.value;
|
|
@@ -28423,6 +28440,13 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28423
28440
|
}
|
|
28424
28441
|
}
|
|
28425
28442
|
items.push(itemDataPath);
|
|
28443
|
+
} else {
|
|
28444
|
+
// 非预合成元素未达到渲染等级的转化为空节点。
|
|
28445
|
+
// 预合成元素有根据 item type 的子元素加载判断,没法保留空节点,这边先整体过滤掉。
|
|
28446
|
+
if (itemProps.type !== ItemType.composition) {
|
|
28447
|
+
itemProps.components = [];
|
|
28448
|
+
items.push(itemDataPath);
|
|
28449
|
+
}
|
|
28426
28450
|
}
|
|
28427
28451
|
}
|
|
28428
28452
|
composition.items = items;
|
|
@@ -28667,10 +28691,13 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
28667
28691
|
assertExist(sourceContent);
|
|
28668
28692
|
_this.renderer = renderer;
|
|
28669
28693
|
_this.refCompositionProps = refCompositionProps;
|
|
28670
|
-
|
|
28694
|
+
// Instantiate composition rootItem
|
|
28695
|
+
_this.rootItem = new exports.VFXItem(_this.getEngine());
|
|
28671
28696
|
_this.rootItem.name = "rootItem";
|
|
28697
|
+
_this.rootItem.duration = sourceContent.duration;
|
|
28698
|
+
_this.rootItem.endBehavior = sourceContent.endBehavior;
|
|
28672
28699
|
_this.rootItem.composition = _assert_this_initialized(_this);
|
|
28673
|
-
//
|
|
28700
|
+
// Create rootCompositionComponent
|
|
28674
28701
|
_this.rootComposition = _this.rootItem.addComponent(CompositionComponent);
|
|
28675
28702
|
_this.width = width;
|
|
28676
28703
|
_this.height = height;
|
|
@@ -31344,7 +31371,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
31344
31371
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
31345
31372
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
31346
31373
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
31347
|
-
var version = "2.2.
|
|
31374
|
+
var version = "2.2.3";
|
|
31348
31375
|
logger.info("Core version: " + version + ".");
|
|
31349
31376
|
|
|
31350
31377
|
exports.AbstractPlugin = AbstractPlugin;
|