@galacean/engine-core 0.0.0-experimental-2.0-game.9 → 0.0.0-experimental-2.0-game.11

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/main.js CHANGED
@@ -11544,7 +11544,6 @@ __decorate([
11544
11544
  if (charLength > 0) {
11545
11545
  this._buildChunk(curTextChunk, charLength);
11546
11546
  }
11547
- this._setDirtyFlagTrue(4);
11548
11547
  charRenderInfos.length = 0;
11549
11548
  };
11550
11549
  _proto._onTransformChanged = function _onTransformChanged(bit) {
@@ -18314,14 +18313,16 @@ var ComponentCloner = /*#__PURE__*/ function() {
18314
18313
  }
18315
18314
  };
18316
18315
  _proto._getComponentsInChildren = function _getComponentsInChildren(type, results) {
18317
- for(var i = this._components.length - 1; i >= 0; i--){
18318
- var component = this._components[i];
18316
+ var components = this._components;
18317
+ for(var i = 0, n = components.length; i < n; i++){
18318
+ var component = components[i];
18319
18319
  if (_instanceof(component, type)) {
18320
18320
  results.push(component);
18321
18321
  }
18322
18322
  }
18323
- for(var i1 = this._children.length - 1; i1 >= 0; i1--){
18324
- this._children[i1]._getComponentsInChildren(type, results);
18323
+ var children = this._children;
18324
+ for(var i1 = 0, n1 = children.length; i1 < n1; i1++){
18325
+ children[i1]._getComponentsInChildren(type, results);
18325
18326
  }
18326
18327
  };
18327
18328
  _proto._setActiveInHierarchy = function _setActiveInHierarchy(activeChangeFlag) {
@@ -20457,6 +20458,7 @@ var rePropName = RegExp(// Match anything that isn't a dot or bracket.
20457
20458
  function Pointer(id) {
20458
20459
  /** The phase of pointer. */ this.phase = PointerPhase.Leave;
20459
20460
  /** The position of the pointer in screen space pixel coordinates. */ this.position = new engineMath.Vector2();
20461
+ /** The position of the pointer when it was last pressed down (in screen space pixel coordinates). */ this.pressedPosition = new engineMath.Vector2();
20460
20462
  /** The change of the pointer. */ this.deltaPosition = new engineMath.Vector2();
20461
20463
  /** @internal */ this._events = [];
20462
20464
  /** @internal */ this._upMap = [];
@@ -20505,12 +20507,16 @@ var PointerEventType = /*#__PURE__*/ function(PointerEventType) {
20505
20507
  */ var PointerEventData = /*#__PURE__*/ function() {
20506
20508
  function PointerEventData() {
20507
20509
  /** The position of the event trigger (in world space). */ this.worldPosition = new engineMath.Vector3();
20510
+ /** The hit-tested target entity (deepest entity on the bubble path). */ this.target = null;
20511
+ /** The entity currently handling the event (same as target on non-bubbling fire, varies on bubble). */ this.currentTarget = null;
20508
20512
  }
20509
20513
  var _proto = PointerEventData.prototype;
20510
20514
  /**
20511
20515
  * @internal
20512
20516
  */ _proto.dispose = function dispose() {
20513
20517
  this.pointer = null;
20518
+ this.target = null;
20519
+ this.currentTarget = null;
20514
20520
  };
20515
20521
  return PointerEventData;
20516
20522
  }();
@@ -23372,10 +23378,13 @@ var PointerEventEmitter = /*#__PURE__*/ function() {
23372
23378
  this._init();
23373
23379
  }
23374
23380
  var _proto = PointerEventEmitter.prototype;
23375
- _proto._createEventData = function _createEventData(pointer) {
23381
+ _proto._createEventData = function _createEventData(pointer, target, currentTarget) {
23382
+ if (currentTarget === void 0) currentTarget = target;
23376
23383
  var data = this._pool.get();
23377
23384
  data.pointer = pointer;
23378
23385
  data.worldPosition.copyFrom(this._hitResult.point);
23386
+ data.target = target;
23387
+ data.currentTarget = currentTarget;
23379
23388
  return data;
23380
23389
  };
23381
23390
  _proto._fireDown = function _fireDown(entity, eventData) {
@@ -23505,12 +23514,12 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23505
23514
  };
23506
23515
  _proto.processDrag = function processDrag(pointer) {
23507
23516
  var entity = this._draggedEntity;
23508
- entity && this._fireDrag(entity, this._createEventData(pointer));
23517
+ entity && this._fireDrag(entity, this._createEventData(pointer, entity, entity));
23509
23518
  };
23510
23519
  _proto.processDown = function processDown(pointer) {
23511
23520
  var entity = this._pressedEntity = this._draggedEntity = this._enteredEntity;
23512
23521
  if (entity) {
23513
- var eventData = this._createEventData(pointer);
23522
+ var eventData = this._createEventData(pointer, entity, entity);
23514
23523
  this._fireDown(entity, eventData);
23515
23524
  this._fireBeginDrag(entity, eventData);
23516
23525
  }
@@ -23519,26 +23528,26 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23519
23528
  var _this = this, enteredEntity = _this._enteredEntity, draggedEntity = _this._draggedEntity;
23520
23529
  if (enteredEntity) {
23521
23530
  var sameTarget = this._pressedEntity === enteredEntity;
23522
- var eventData = this._createEventData(pointer);
23531
+ var eventData = this._createEventData(pointer, enteredEntity, enteredEntity);
23523
23532
  this._fireUp(enteredEntity, eventData);
23524
23533
  sameTarget && this._fireClick(enteredEntity, eventData);
23525
23534
  this._fireDrop(enteredEntity, eventData);
23526
23535
  }
23527
23536
  this._pressedEntity = null;
23528
23537
  if (draggedEntity) {
23529
- this._fireEndDrag(draggedEntity, this._createEventData(pointer));
23538
+ this._fireEndDrag(draggedEntity, this._createEventData(pointer, draggedEntity, draggedEntity));
23530
23539
  this._draggedEntity = null;
23531
23540
  }
23532
23541
  };
23533
23542
  _proto.processLeave = function processLeave(pointer) {
23534
23543
  var enteredEntity = this._enteredEntity;
23535
23544
  if (enteredEntity) {
23536
- this._fireExit(enteredEntity, this._createEventData(pointer));
23545
+ this._fireExit(enteredEntity, this._createEventData(pointer, enteredEntity, enteredEntity));
23537
23546
  this._enteredEntity = null;
23538
23547
  }
23539
23548
  var draggedEntity = this._draggedEntity;
23540
23549
  if (draggedEntity) {
23541
- this._fireEndDrag(draggedEntity, this._createEventData(pointer));
23550
+ this._fireEndDrag(draggedEntity, this._createEventData(pointer, draggedEntity, draggedEntity));
23542
23551
  this._draggedEntity = null;
23543
23552
  }
23544
23553
  this._pressedEntity = null;
@@ -23553,10 +23562,10 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23553
23562
  var enteredEntity = this._enteredEntity;
23554
23563
  if (entity !== enteredEntity) {
23555
23564
  if (enteredEntity) {
23556
- this._fireExit(enteredEntity, this._createEventData(pointer));
23565
+ this._fireExit(enteredEntity, this._createEventData(pointer, enteredEntity, enteredEntity));
23557
23566
  }
23558
23567
  if (entity) {
23559
- this._fireEnter(entity, this._createEventData(pointer));
23568
+ this._fireEnter(entity, this._createEventData(pointer, entity, entity));
23560
23569
  }
23561
23570
  this._enteredEntity = entity;
23562
23571
  }
@@ -23751,6 +23760,7 @@ PointerEventEmitter._tempRay = new engineMath.Ray();
23751
23760
  pointer._downMap[button] = frameCount;
23752
23761
  pointer._frameEvents |= PointerEventType.Down;
23753
23762
  pointer.phase = PointerPhase.Down;
23763
+ pointer.pressedPosition.copyFrom(pointer.position);
23754
23764
  break;
23755
23765
  }
23756
23766
  case "pointerup":
@@ -24949,7 +24959,7 @@ var spriteFs = "#include <common>\nuniform sampler2D renderer_SpriteTexture;\n\n
24949
24959
 
24950
24960
  var spriteVs = "uniform mat4 renderer_MVPMat;\n\nattribute vec3 POSITION;\nattribute vec2 TEXCOORD_0;\nattribute vec4 COLOR_0;\n\nvarying vec2 v_uv;\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);\n\n v_uv = TEXCOORD_0;\n v_color = COLOR_0;\n}\n"; // eslint-disable-line
24951
24961
 
24952
- var textFs = "uniform sampler2D renderElement_TextTexture;\nuniform vec2 renderElement_TextTextureSize;\nuniform vec4 renderer_OutlineColor;\nuniform float renderer_OutlineWidth;\n\nuniform vec4 renderer_UIRectClipRect;\nuniform float renderer_UIRectClipEnabled;\nuniform vec4 renderer_UIRectClipSoftness;\nuniform float renderer_UIRectClipHardClip;\n\nvarying vec2 v_uv;\nvarying vec4 v_color;\nvarying vec2 v_worldPosition;\n\nfloat getUIRectClipAlpha()\n{\n vec4 edgeDistance = vec4(\n v_worldPosition.x - renderer_UIRectClipRect.x,\n v_worldPosition.y - renderer_UIRectClipRect.y,\n renderer_UIRectClipRect.z - v_worldPosition.x,\n renderer_UIRectClipRect.w - v_worldPosition.y\n );\n vec4 hardClipFactor = step(vec4(0.0), edgeDistance);\n vec4 softness = max(renderer_UIRectClipSoftness, vec4(1e-5));\n vec4 softClipFactor = clamp(edgeDistance / softness, 0.0, 1.0);\n vec4 useSoftness = step(vec4(1e-5), renderer_UIRectClipSoftness);\n vec4 clipFactor = mix(hardClipFactor, softClipFactor, useSoftness);\n return clipFactor.x * clipFactor.y * clipFactor.z * clipFactor.w;\n}\n\nfloat sampleCoverage(vec2 uv)\n{\n vec4 c = texture2D(renderElement_TextTexture, uv);\n #ifdef GRAPHICS_API_WEBGL2\n return c.r;\n #else\n return c.a;\n #endif\n}\n\nvoid main()\n{\n float rectClipAlpha = 1.0;\n if (renderer_UIRectClipEnabled > 0.5) {\n rectClipAlpha = getUIRectClipAlpha();\n }\n\n float coverage = sampleCoverage(v_uv);\n vec4 finalColor;\n\n if (renderer_OutlineWidth > 0.0) {\n vec2 texelSize = 1.0 / renderElement_TextTextureSize;\n vec2 step = texelSize * renderer_OutlineWidth;\n float outlineCoverage = coverage;\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( step.x, 0.0)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2(-step.x, 0.0)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( 0.0, step.y)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( 0.0, -step.y)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( step.x * 0.7071, step.y * 0.7071)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2(-step.x * 0.7071, step.y * 0.7071)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( step.x * 0.7071, -step.y * 0.7071)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2(-step.x * 0.7071, -step.y * 0.7071)));\n\n vec3 rgb = mix(renderer_OutlineColor.rgb, v_color.rgb, coverage);\n float alpha = max(coverage * v_color.a, outlineCoverage * renderer_OutlineColor.a);\n finalColor = vec4(rgb, alpha);\n } else {\n finalColor = vec4(v_color.rgb, v_color.a * coverage);\n }\n\n finalColor.a *= rectClipAlpha;\n if (renderer_UIRectClipEnabled > 0.5 && renderer_UIRectClipHardClip > 0.5 && finalColor.a < 0.001) {\n discard;\n }\n gl_FragColor = finalColor;\n}\n"; // eslint-disable-line
24962
+ var textFs = "uniform sampler2D renderElement_TextTexture;\nuniform vec2 renderElement_TextTextureSize;\nuniform vec4 renderer_OutlineColor;\nuniform float renderer_OutlineWidth;\n\nuniform vec4 renderer_UIRectClipRect;\nuniform float renderer_UIRectClipEnabled;\nuniform vec4 renderer_UIRectClipSoftness;\nuniform float renderer_UIRectClipHardClip;\n\nvarying vec2 v_uv;\nvarying vec4 v_color;\nvarying vec2 v_worldPosition;\n\nfloat getUIRectClipAlpha()\n{\n vec4 edgeDistance = vec4(\n v_worldPosition.x - renderer_UIRectClipRect.x,\n v_worldPosition.y - renderer_UIRectClipRect.y,\n renderer_UIRectClipRect.z - v_worldPosition.x,\n renderer_UIRectClipRect.w - v_worldPosition.y\n );\n vec4 hardClipFactor = step(vec4(0.0), edgeDistance);\n vec4 softness = max(renderer_UIRectClipSoftness, vec4(1e-5));\n vec4 softClipFactor = clamp(edgeDistance / softness, 0.0, 1.0);\n vec4 useSoftness = step(vec4(1e-5), renderer_UIRectClipSoftness);\n vec4 clipFactor = mix(hardClipFactor, softClipFactor, useSoftness);\n return clipFactor.x * clipFactor.y * clipFactor.z * clipFactor.w;\n}\n\nfloat sampleCoverage(vec2 uv)\n{\n vec4 c = texture2D(renderElement_TextTexture, uv);\n #ifdef GRAPHICS_API_WEBGL2\n return c.r;\n #else\n return c.a;\n #endif\n}\n\nvoid main()\n{\n float rectClipAlpha = 1.0;\n if (renderer_UIRectClipEnabled > 0.5) {\n rectClipAlpha = getUIRectClipAlpha();\n }\n\n float coverage = sampleCoverage(v_uv);\n vec4 finalColor;\n\n if (renderer_OutlineWidth > 0.0) {\n vec2 texelSize = 1.0 / renderElement_TextTextureSize;\n vec2 step = texelSize * renderer_OutlineWidth;\n float outlineCoverage = coverage;\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( step.x, 0.0)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2(-step.x, 0.0)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( 0.0, step.y)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( 0.0, -step.y)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( step.x * 0.7071, step.y * 0.7071)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2(-step.x * 0.7071, step.y * 0.7071)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2( step.x * 0.7071, -step.y * 0.7071)));\n outlineCoverage = max(outlineCoverage, sampleCoverage(v_uv + vec2(-step.x * 0.7071, -step.y * 0.7071)));\n\n vec3 rgb = mix(renderer_OutlineColor.rgb, v_color.rgb, coverage);\n float alpha = max(coverage, outlineCoverage * renderer_OutlineColor.a) * v_color.a;\n finalColor = vec4(rgb, alpha);\n } else {\n finalColor = vec4(v_color.rgb, v_color.a * coverage);\n }\n\n finalColor.a *= rectClipAlpha;\n if (renderer_UIRectClipEnabled > 0.5 && renderer_UIRectClipHardClip > 0.5 && finalColor.a < 0.001) {\n discard;\n }\n gl_FragColor = finalColor;\n}\n"; // eslint-disable-line
24953
24963
 
24954
24964
  var textVs = "uniform mat4 renderer_MVPMat;\nuniform mat4 renderer_ModelMat;\n\nattribute vec3 POSITION;\nattribute vec2 TEXCOORD_0;\nattribute vec4 COLOR_0;\n\nvarying vec2 v_uv;\nvarying vec4 v_color;\nvarying vec2 v_worldPosition;\n\nvoid main()\n{\n gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);\n\n v_uv = TEXCOORD_0;\n v_color = COLOR_0;\n v_worldPosition = POSITION.xy;\n}\n"; // eslint-disable-line
24955
24965