@galacean/engine-ui 1.4.12 → 1.4.14

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/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import { EntityModifyFlags, ignoreClone, assignmentClone, DisorderedArray, Component, deepClone, Vector2, Transform, Vector3, Matrix, Plane, ShaderProperty, dependentComponents, DependentMode, BatchUtils, ShaderMacroCollection, Renderer, Vector4, Color, RendererUpdateFlags, Script, MathUtil, CameraModifyFlags, SafeLoopArray, SpriteDrawMode, RenderQueueFlags, SpriteModifyFlags, SpriteTileMode, TiledSpriteAssembler, SlicedSpriteAssembler, SimpleSpriteAssembler, BoundingBox, ShaderData, ShaderDataGroup, TextUtils, Engine, TextVerticalAlignment, TextHorizontalAlignment, OverflowMode, CharRenderInfo, FontStyle, ReferResource, registerPointerEventEmitter, PointerEventEmitter, CameraClearFlags, ReflectionParser, Shader, ShaderPass, PipelineStage, Material, BlendFactor, BlendOperation, CullMode, RenderQueueType, Entity, Loader, Font } from '@galacean/engine';
1
+ import { EntityModifyFlags, ignoreClone, assignmentClone, DisorderedArray, Component, deepClone, Vector2, Transform, Vector3, Matrix, Plane, ShaderProperty, dependentComponents, DependentMode, BatchUtils, ShaderMacroCollection, Renderer, Vector4, Color, RendererUpdateFlags, Script, MathUtil, CameraModifyFlags, Logger, SafeLoopArray, SpriteDrawMode, RenderQueueFlags, SpriteModifyFlags, SpriteTileMode, TiledSpriteAssembler, SlicedSpriteAssembler, SimpleSpriteAssembler, BoundingBox, ShaderData, ShaderDataGroup, TextUtils, Engine, TextVerticalAlignment, TextHorizontalAlignment, OverflowMode, CharRenderInfo, FontStyle, ReferResource, registerPointerEventEmitter, PointerEventEmitter, CameraClearFlags, ReflectionParser, Shader, ShaderPass, PipelineStage, Material, BlendFactor, BlendOperation, CullMode, RenderQueueType, Entity, Loader, Font } from '@galacean/engine';
2
2
 
3
3
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
4
4
  try {
@@ -1159,8 +1159,9 @@ var UICanvas = /*#__PURE__*/ function(Component) {
1159
1159
  case CanvasRenderMode.WorldSpace:
1160
1160
  var boundsCenter = this._getCenter();
1161
1161
  if (isOrthographic) {
1162
- Vector3.subtract(boundsCenter, cameraPosition, boundsCenter);
1163
- this._sortDistance = Vector3.dot(boundsCenter, cameraForward);
1162
+ var distance = UICanvas._tempVec3;
1163
+ Vector3.subtract(boundsCenter, cameraPosition, distance);
1164
+ this._sortDistance = Vector3.dot(distance, cameraForward);
1164
1165
  } else {
1165
1166
  this._sortDistance = Vector3.distanceSquared(boundsCenter, cameraPosition);
1166
1167
  }
@@ -1201,6 +1202,11 @@ var UICanvas = /*#__PURE__*/ function(Component) {
1201
1202
  }
1202
1203
  }
1203
1204
  };
1205
+ /**
1206
+ * @internal
1207
+ */ _proto._cloneTo = function _cloneTo(target, srcRoot, targetRoot) {
1208
+ target.renderMode = this._renderMode;
1209
+ };
1204
1210
  _proto._getRenderers = function _getRenderers() {
1205
1211
  var _this = this, renderers = _this._orderedRenderers, entity = _this.entity;
1206
1212
  var uiHierarchyVersion = entity._uiHierarchyVersion;
@@ -1216,11 +1222,14 @@ var UICanvas = /*#__PURE__*/ function(Component) {
1216
1222
  var transform = this.entity.transform;
1217
1223
  var realRenderMode = this._realRenderMode;
1218
1224
  if (realRenderMode === CanvasRenderMode.ScreenSpaceCamera) {
1219
- var _this__renderCamera_entity = this._renderCamera.entity, cameraTransform = _this__renderCamera_entity.transform;
1220
- var cameraWorldPosition = cameraTransform.worldPosition, cameraWorldForward = cameraTransform.worldForward;
1221
- var distance = this._distance;
1222
- transform.setWorldPosition(cameraWorldPosition.x + cameraWorldForward.x * distance, cameraWorldPosition.y + cameraWorldForward.y * distance, cameraWorldPosition.z + cameraWorldForward.z * distance);
1223
- transform.worldRotationQuaternion.copyFrom(cameraTransform.worldRotationQuaternion);
1225
+ var cameraEntity = this._renderCamera.entity;
1226
+ if (!this._isSameOrChildEntity(cameraEntity)) {
1227
+ var cameraTransform = cameraEntity.transform;
1228
+ var cameraWorldPosition = cameraTransform.worldPosition, cameraWorldForward = cameraTransform.worldForward;
1229
+ var distance = this._distance;
1230
+ transform.setWorldPosition(cameraWorldPosition.x + cameraWorldForward.x * distance, cameraWorldPosition.y + cameraWorldForward.y * distance, cameraWorldPosition.z + cameraWorldForward.z * distance);
1231
+ transform.worldRotationQuaternion.copyFrom(cameraTransform.worldRotationQuaternion);
1232
+ }
1224
1233
  } else {
1225
1234
  var canvas = this.engine.canvas;
1226
1235
  transform.setWorldPosition(canvas.width * 0.5, canvas.height * 0.5, 0);
@@ -1443,6 +1452,14 @@ var UICanvas = /*#__PURE__*/ function(Component) {
1443
1452
  }
1444
1453
  }
1445
1454
  };
1455
+ _proto._isSameOrChildEntity = function _isSameOrChildEntity(cameraEntity) {
1456
+ var canvasEntity = this.entity;
1457
+ while(cameraEntity){
1458
+ if (cameraEntity === canvasEntity) return true;
1459
+ cameraEntity = cameraEntity.parent;
1460
+ }
1461
+ return false;
1462
+ };
1446
1463
  _create_class(UICanvas, [
1447
1464
  {
1448
1465
  key: "referenceResolutionPerUnit",
@@ -1500,9 +1517,19 @@ var UICanvas = /*#__PURE__*/ function(Component) {
1500
1517
  set: function set(value) {
1501
1518
  var preCamera = this._renderCamera;
1502
1519
  if (preCamera !== value) {
1520
+ this._isSameOrChildEntity(value.entity) && Logger.warn("Camera entity matching or nested within the canvas entity disables canvas auto-adaptation in ScreenSpaceCamera mode.");
1503
1521
  this._renderCamera = value;
1504
1522
  this._updateCameraObserver();
1505
- this._setRealRenderMode(this._getRealRenderMode());
1523
+ var preRenderMode = this._realRenderMode;
1524
+ var curRenderMode = this._getRealRenderMode();
1525
+ if (preRenderMode === curRenderMode) {
1526
+ if (curRenderMode === CanvasRenderMode.ScreenSpaceCamera) {
1527
+ this._adapterPoseInScreenSpace();
1528
+ this._adapterSizeInScreenSpace();
1529
+ }
1530
+ } else {
1531
+ this._setRealRenderMode(curRenderMode);
1532
+ }
1506
1533
  }
1507
1534
  }
1508
1535
  },
@@ -1599,25 +1626,25 @@ __decorate([
1599
1626
  ignoreClone
1600
1627
  ], UICanvas.prototype, "_renderMode", void 0);
1601
1628
  __decorate([
1602
- ignoreClone
1629
+ assignmentClone
1603
1630
  ], UICanvas.prototype, "_renderCamera", void 0);
1604
1631
  __decorate([
1605
1632
  ignoreClone
1606
1633
  ], UICanvas.prototype, "_cameraObserver", void 0);
1607
1634
  __decorate([
1608
- ignoreClone
1635
+ assignmentClone
1609
1636
  ], UICanvas.prototype, "_resolutionAdaptationMode", void 0);
1610
1637
  __decorate([
1611
- ignoreClone
1638
+ assignmentClone
1612
1639
  ], UICanvas.prototype, "_sortOrder", void 0);
1613
1640
  __decorate([
1614
- ignoreClone
1641
+ assignmentClone
1615
1642
  ], UICanvas.prototype, "_distance", void 0);
1616
1643
  __decorate([
1617
1644
  deepClone
1618
1645
  ], UICanvas.prototype, "_referenceResolution", void 0);
1619
1646
  __decorate([
1620
- deepClone
1647
+ assignmentClone
1621
1648
  ], UICanvas.prototype, "_referenceResolutionPerUnit", void 0);
1622
1649
  __decorate([
1623
1650
  ignoreClone
@@ -1726,6 +1753,14 @@ var Button = /*#__PURE__*/ function(UIInteractive) {
1726
1753
  }
1727
1754
  }
1728
1755
  };
1756
+ /**
1757
+ * @internal
1758
+ */ _proto._cloneTo = function _cloneTo(target, srcRoot, targetRoot) {
1759
+ // @ts-ignore
1760
+ UIRenderer1.prototype._cloneTo.call(this, target, srcRoot, targetRoot);
1761
+ target.sprite = this._sprite;
1762
+ target.drawMode = this._drawMode;
1763
+ };
1729
1764
  _proto._updateBounds = function _updateBounds(worldBounds) {
1730
1765
  var sprite = this._sprite;
1731
1766
  var rootCanvas = this._getRootCanvas();
@@ -1938,7 +1973,7 @@ __decorate([
1938
1973
  ignoreClone
1939
1974
  ], Image.prototype, "_drawMode", void 0);
1940
1975
  __decorate([
1941
- assignmentClone
1976
+ ignoreClone
1942
1977
  ], Image.prototype, "_assembler", void 0);
1943
1978
  __decorate([
1944
1979
  assignmentClone
@@ -3027,6 +3062,7 @@ var UIPointerEventEmitter = /*#__PURE__*/ function(PointerEventEmitter1) {
3027
3062
  }
3028
3063
  add.length = del.length = 0;
3029
3064
  }
3065
+ curPath.length = 0;
3030
3066
  };
3031
3067
  _proto._composedPath = function _composedPath(element, path) {
3032
3068
  if (!element) {