@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/browser.js CHANGED
@@ -1163,8 +1163,9 @@
1163
1163
  case CanvasRenderMode.WorldSpace:
1164
1164
  var boundsCenter = this._getCenter();
1165
1165
  if (isOrthographic) {
1166
- engine.Vector3.subtract(boundsCenter, cameraPosition, boundsCenter);
1167
- this._sortDistance = engine.Vector3.dot(boundsCenter, cameraForward);
1166
+ var distance = UICanvas._tempVec3;
1167
+ engine.Vector3.subtract(boundsCenter, cameraPosition, distance);
1168
+ this._sortDistance = engine.Vector3.dot(distance, cameraForward);
1168
1169
  } else {
1169
1170
  this._sortDistance = engine.Vector3.distanceSquared(boundsCenter, cameraPosition);
1170
1171
  }
@@ -1205,6 +1206,11 @@
1205
1206
  }
1206
1207
  }
1207
1208
  };
1209
+ /**
1210
+ * @internal
1211
+ */ _proto._cloneTo = function _cloneTo(target, srcRoot, targetRoot) {
1212
+ target.renderMode = this._renderMode;
1213
+ };
1208
1214
  _proto._getRenderers = function _getRenderers() {
1209
1215
  var _this = this, renderers = _this._orderedRenderers, entity = _this.entity;
1210
1216
  var uiHierarchyVersion = entity._uiHierarchyVersion;
@@ -1220,11 +1226,14 @@
1220
1226
  var transform = this.entity.transform;
1221
1227
  var realRenderMode = this._realRenderMode;
1222
1228
  if (realRenderMode === CanvasRenderMode.ScreenSpaceCamera) {
1223
- var _this__renderCamera_entity = this._renderCamera.entity, cameraTransform = _this__renderCamera_entity.transform;
1224
- var cameraWorldPosition = cameraTransform.worldPosition, cameraWorldForward = cameraTransform.worldForward;
1225
- var distance = this._distance;
1226
- transform.setWorldPosition(cameraWorldPosition.x + cameraWorldForward.x * distance, cameraWorldPosition.y + cameraWorldForward.y * distance, cameraWorldPosition.z + cameraWorldForward.z * distance);
1227
- transform.worldRotationQuaternion.copyFrom(cameraTransform.worldRotationQuaternion);
1229
+ var cameraEntity = this._renderCamera.entity;
1230
+ if (!this._isSameOrChildEntity(cameraEntity)) {
1231
+ var cameraTransform = cameraEntity.transform;
1232
+ var cameraWorldPosition = cameraTransform.worldPosition, cameraWorldForward = cameraTransform.worldForward;
1233
+ var distance = this._distance;
1234
+ transform.setWorldPosition(cameraWorldPosition.x + cameraWorldForward.x * distance, cameraWorldPosition.y + cameraWorldForward.y * distance, cameraWorldPosition.z + cameraWorldForward.z * distance);
1235
+ transform.worldRotationQuaternion.copyFrom(cameraTransform.worldRotationQuaternion);
1236
+ }
1228
1237
  } else {
1229
1238
  var canvas = this.engine.canvas;
1230
1239
  transform.setWorldPosition(canvas.width * 0.5, canvas.height * 0.5, 0);
@@ -1447,6 +1456,14 @@
1447
1456
  }
1448
1457
  }
1449
1458
  };
1459
+ _proto._isSameOrChildEntity = function _isSameOrChildEntity(cameraEntity) {
1460
+ var canvasEntity = this.entity;
1461
+ while(cameraEntity){
1462
+ if (cameraEntity === canvasEntity) return true;
1463
+ cameraEntity = cameraEntity.parent;
1464
+ }
1465
+ return false;
1466
+ };
1450
1467
  _create_class(UICanvas, [
1451
1468
  {
1452
1469
  key: "referenceResolutionPerUnit",
@@ -1504,9 +1521,19 @@
1504
1521
  set: function set(value) {
1505
1522
  var preCamera = this._renderCamera;
1506
1523
  if (preCamera !== value) {
1524
+ this._isSameOrChildEntity(value.entity) && engine.Logger.warn("Camera entity matching or nested within the canvas entity disables canvas auto-adaptation in ScreenSpaceCamera mode.");
1507
1525
  this._renderCamera = value;
1508
1526
  this._updateCameraObserver();
1509
- this._setRealRenderMode(this._getRealRenderMode());
1527
+ var preRenderMode = this._realRenderMode;
1528
+ var curRenderMode = this._getRealRenderMode();
1529
+ if (preRenderMode === curRenderMode) {
1530
+ if (curRenderMode === CanvasRenderMode.ScreenSpaceCamera) {
1531
+ this._adapterPoseInScreenSpace();
1532
+ this._adapterSizeInScreenSpace();
1533
+ }
1534
+ } else {
1535
+ this._setRealRenderMode(curRenderMode);
1536
+ }
1510
1537
  }
1511
1538
  }
1512
1539
  },
@@ -1603,25 +1630,25 @@
1603
1630
  engine.ignoreClone
1604
1631
  ], exports.UICanvas.prototype, "_renderMode", void 0);
1605
1632
  __decorate([
1606
- engine.ignoreClone
1633
+ engine.assignmentClone
1607
1634
  ], exports.UICanvas.prototype, "_renderCamera", void 0);
1608
1635
  __decorate([
1609
1636
  engine.ignoreClone
1610
1637
  ], exports.UICanvas.prototype, "_cameraObserver", void 0);
1611
1638
  __decorate([
1612
- engine.ignoreClone
1639
+ engine.assignmentClone
1613
1640
  ], exports.UICanvas.prototype, "_resolutionAdaptationMode", void 0);
1614
1641
  __decorate([
1615
- engine.ignoreClone
1642
+ engine.assignmentClone
1616
1643
  ], exports.UICanvas.prototype, "_sortOrder", void 0);
1617
1644
  __decorate([
1618
- engine.ignoreClone
1645
+ engine.assignmentClone
1619
1646
  ], exports.UICanvas.prototype, "_distance", void 0);
1620
1647
  __decorate([
1621
1648
  engine.deepClone
1622
1649
  ], exports.UICanvas.prototype, "_referenceResolution", void 0);
1623
1650
  __decorate([
1624
- engine.deepClone
1651
+ engine.assignmentClone
1625
1652
  ], exports.UICanvas.prototype, "_referenceResolutionPerUnit", void 0);
1626
1653
  __decorate([
1627
1654
  engine.ignoreClone
@@ -1730,6 +1757,14 @@
1730
1757
  }
1731
1758
  }
1732
1759
  };
1760
+ /**
1761
+ * @internal
1762
+ */ _proto._cloneTo = function _cloneTo(target, srcRoot, targetRoot) {
1763
+ // @ts-ignore
1764
+ UIRenderer1.prototype._cloneTo.call(this, target, srcRoot, targetRoot);
1765
+ target.sprite = this._sprite;
1766
+ target.drawMode = this._drawMode;
1767
+ };
1733
1768
  _proto._updateBounds = function _updateBounds(worldBounds) {
1734
1769
  var sprite = this._sprite;
1735
1770
  var rootCanvas = this._getRootCanvas();
@@ -1942,7 +1977,7 @@
1942
1977
  engine.ignoreClone
1943
1978
  ], Image.prototype, "_drawMode", void 0);
1944
1979
  __decorate([
1945
- engine.assignmentClone
1980
+ engine.ignoreClone
1946
1981
  ], Image.prototype, "_assembler", void 0);
1947
1982
  __decorate([
1948
1983
  engine.assignmentClone
@@ -3031,6 +3066,7 @@
3031
3066
  }
3032
3067
  add.length = del.length = 0;
3033
3068
  }
3069
+ curPath.length = 0;
3034
3070
  };
3035
3071
  _proto._composedPath = function _composedPath(element, path) {
3036
3072
  if (!element) {