@galacean/engine-ui 1.4.0-beta.1 → 1.4.0-beta.2

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
@@ -90,10 +90,6 @@
90
90
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
91
91
  };
92
92
 
93
- var uiDefaultFs = "#define GLSLIFY 1\nuniform sampler2D renderer_UITexture;\n\nvarying vec2 v_uv;\nvarying vec4 v_color;\n\nvoid main() {\n vec4 baseColor = texture2D(renderer_UITexture, v_uv);\n gl_FragColor = baseColor * v_color;\n}\n"; // eslint-disable-line
94
-
95
- var uiDefaultVs = "#define GLSLIFY 1\nuniform 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 gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);\n\n v_uv = TEXCOORD_0;\n v_color = COLOR_0;\n}\n"; // eslint-disable-line
96
-
97
93
  function _defineProperties(target, props) {
98
94
  for (var i = 0; i < props.length; i++) {
99
95
  var descriptor = props[i];
@@ -909,7 +905,7 @@
909
905
  _proto.onDestroy = function onDestroy() {
910
906
  Script.prototype.onDestroy.call(this);
911
907
  var transitions = this._transitions;
912
- for(var i = 0, n = transitions.length; i < n; i++){
908
+ for(var i = transitions.length - 1; i >= 0; i--){
913
909
  transitions[i].destroy();
914
910
  }
915
911
  };
@@ -1074,7 +1070,7 @@
1074
1070
  _inherits(UICanvas, Component);
1075
1071
  function UICanvas(entity) {
1076
1072
  var _this;
1077
- _this = Component.call(this, entity) || this, /** @internal */ _this._canvasIndex = -1, /** @internal */ _this._indexInRootCanvas = -1, /** @internal */ _this._isRootCanvasDirty = false, /** @internal */ _this._rootCanvasListeningEntities = [], /** @internal */ _this._isRootCanvas = false, /** @internal */ _this._sortDistance = 0, /** @internal */ _this._orderedRenderers = [], /** @internal */ _this._realRenderMode = 4, /** @internal */ _this._disorderedElements = new engine.DisorderedArray(), _this._renderMode = CanvasRenderMode.WorldSpace, _this._resolutionAdaptationMode = ResolutionAdaptationMode.HeightAdaptation, _this._sortOrder = 0, _this._distance = 10, _this._referenceResolution = new engine.Vector2(800, 600), _this._referenceResolutionPerUnit = 100, _this._hierarchyVersion = -1;
1073
+ _this = Component.call(this, entity) || this, /** @internal */ _this._canvasIndex = -1, /** @internal */ _this._indexInRootCanvas = -1, /** @internal */ _this._isRootCanvasDirty = false, /** @internal */ _this._rootCanvasListeningEntities = [], /** @internal */ _this._isRootCanvas = false, /** @internal */ _this._sortDistance = 0, /** @internal */ _this._orderedRenderers = [], /** @internal */ _this._realRenderMode = 4, /** @internal */ _this._disorderedElements = new engine.DisorderedArray(), _this._renderMode = CanvasRenderMode.WorldSpace, _this._resolutionAdaptationMode = ResolutionAdaptationMode.HeightAdaptation, _this._sortOrder = 0, _this._distance = 10, _this._referenceResolution = new engine.Vector2(800, 600), _this._referenceResolutionPerUnit = 100, _this._hierarchyVersion = -1, _this._center = new engine.Vector3();
1078
1074
  _this._onCanvasSizeListener = _this._onCanvasSizeListener.bind(_this);
1079
1075
  _this._onCameraModifyListener = _this._onCameraModifyListener.bind(_this);
1080
1076
  _this._onCameraTransformListener = _this._onCameraTransformListener.bind(_this);
@@ -1082,6 +1078,7 @@
1082
1078
  // @ts-ignore
1083
1079
  _this._referenceResolution._onValueChanged = _this._onReferenceResolutionChanged;
1084
1080
  _this._rootCanvasListener = _this._rootCanvasListener.bind(_this);
1081
+ _this._centerDirtyFlag = entity.registerWorldChangeFlag();
1085
1082
  return _this;
1086
1083
  }
1087
1084
  var _proto = UICanvas.prototype;
@@ -1119,7 +1116,8 @@
1119
1116
  var frameCount = engine.time.frameCount;
1120
1117
  // @ts-ignore
1121
1118
  var renderElement = this._renderElement = engine._renderElementPool.get();
1122
- this._updateSortDistance(context.virtualCamera.position);
1119
+ var virtualCamera = context.virtualCamera;
1120
+ this._updateSortDistance(virtualCamera.isOrthographic, virtualCamera.position, virtualCamera.forward);
1123
1121
  renderElement.set(this.sortOrder, this._sortDistance);
1124
1122
  var _engine_canvas = engine.canvas, width = _engine_canvas.width, height = _engine_canvas.height;
1125
1123
  var renderers = this._getRenderers();
@@ -1152,7 +1150,7 @@
1152
1150
  };
1153
1151
  /**
1154
1152
  * @internal
1155
- */ _proto._updateSortDistance = function _updateSortDistance(cameraPosition) {
1153
+ */ _proto._updateSortDistance = function _updateSortDistance(isOrthographic, cameraPosition, cameraForward) {
1156
1154
  switch(this._realRenderMode){
1157
1155
  case CanvasRenderMode.ScreenSpaceOverlay:
1158
1156
  this._sortDistance = 0;
@@ -1161,7 +1159,13 @@
1161
1159
  this._sortDistance = this._distance;
1162
1160
  break;
1163
1161
  case CanvasRenderMode.WorldSpace:
1164
- this._sortDistance = engine.Vector3.distance(cameraPosition, this.entity.transform.worldPosition);
1162
+ var boundsCenter = this._getCenter();
1163
+ if (isOrthographic) {
1164
+ engine.Vector3.subtract(boundsCenter, cameraPosition, boundsCenter);
1165
+ this._sortDistance = engine.Vector3.dot(boundsCenter, cameraForward);
1166
+ } else {
1167
+ this._sortDistance = engine.Vector3.distanceSquared(boundsCenter, cameraPosition);
1168
+ }
1165
1169
  break;
1166
1170
  }
1167
1171
  };
@@ -1391,6 +1395,17 @@
1391
1395
  }
1392
1396
  }
1393
1397
  };
1398
+ _proto._getCenter = function _getCenter() {
1399
+ if (this._centerDirtyFlag.flag) {
1400
+ var center = this._center;
1401
+ var uiTransform = this.entity.transform;
1402
+ var pivot = uiTransform.pivot, size = uiTransform.size;
1403
+ center.set((0.5 - pivot.x) * size.x, (0.5 - pivot.y) * size.y, 0);
1404
+ engine.Vector3.transformCoordinate(center, uiTransform.worldMatrix, center);
1405
+ this._centerDirtyFlag.flag = false;
1406
+ }
1407
+ return this._center;
1408
+ };
1394
1409
  _proto._getRealRenderMode = function _getRealRenderMode() {
1395
1410
  if (this._isRootCanvas) {
1396
1411
  var _this__renderCamera;
@@ -1609,6 +1624,12 @@
1609
1624
  __decorate([
1610
1625
  engine.ignoreClone
1611
1626
  ], exports.UICanvas.prototype, "_hierarchyVersion", void 0);
1627
+ __decorate([
1628
+ engine.ignoreClone
1629
+ ], exports.UICanvas.prototype, "_center", void 0);
1630
+ __decorate([
1631
+ engine.ignoreClone
1632
+ ], exports.UICanvas.prototype, "_centerDirtyFlag", void 0);
1612
1633
  __decorate([
1613
1634
  engine.ignoreClone
1614
1635
  ], exports.UICanvas.prototype, "_rootCanvasListener", null);
@@ -1944,6 +1965,7 @@
1944
1965
  var engine$1 = _this.engine;
1945
1966
  // @ts-ignore
1946
1967
  _this.font = engine$1._textDefaultFont;
1968
+ _this.raycastEnabled = false;
1947
1969
  // @ts-ignore
1948
1970
  _this.setMaterial(engine$1._basicResources.textDefaultMaterial);
1949
1971
  return _this;
@@ -2706,16 +2728,28 @@
2706
2728
  }
2707
2729
  var _proto = ColorTransition.prototype;
2708
2730
  _proto._onNormalValueChanged = function _onNormalValueChanged() {
2709
- this._finalState === InteractiveState.Normal && this._updateValue();
2731
+ if (this._finalState === InteractiveState.Normal) {
2732
+ this._finalValue = this._normal;
2733
+ this._updateValue();
2734
+ }
2710
2735
  };
2711
2736
  _proto._onHoverValueChanged = function _onHoverValueChanged() {
2712
- this._finalState === InteractiveState.Hover && this._updateValue();
2737
+ if (this._finalState === InteractiveState.Hover) {
2738
+ this._finalValue = this._hover;
2739
+ this._updateValue();
2740
+ }
2713
2741
  };
2714
2742
  _proto._onPressedValueChanged = function _onPressedValueChanged() {
2715
- this._finalState === InteractiveState.Pressed && this._updateValue();
2743
+ if (this._finalState === InteractiveState.Pressed) {
2744
+ this._finalValue = this._pressed;
2745
+ this._updateValue();
2746
+ }
2716
2747
  };
2717
2748
  _proto._onDisabledValueChanged = function _onDisabledValueChanged() {
2718
- this._finalState === InteractiveState.Disable && this._updateValue();
2749
+ if (this._finalState === InteractiveState.Disable) {
2750
+ this._finalValue = this._disabled;
2751
+ this._updateValue();
2752
+ }
2719
2753
  };
2720
2754
  _proto._getTargetValueCopy = function _getTargetValueCopy() {
2721
2755
  var _this__target;
@@ -2807,11 +2841,30 @@
2807
2841
  this._currentValue = weight >= 1 ? destValue : srcValue;
2808
2842
  };
2809
2843
  _proto._applyValue = function _applyValue(value) {
2810
- this._target.sprite = value || this._normal;
2844
+ this._target.sprite = value;
2811
2845
  };
2812
2846
  return SpriteTransition;
2813
2847
  }(Transition);
2814
2848
 
2849
+ var GUIComponent = /*#__PURE__*/Object.freeze({
2850
+ __proto__: null,
2851
+ get UICanvas () { return exports.UICanvas; },
2852
+ UIGroup: UIGroup,
2853
+ get UIRenderer () { return exports.UIRenderer; },
2854
+ UITransform: UITransform,
2855
+ Button: Button,
2856
+ Image: Image,
2857
+ Text: Text,
2858
+ ColorTransition: ColorTransition,
2859
+ ScaleTransition: ScaleTransition,
2860
+ SpriteTransition: SpriteTransition,
2861
+ Transition: Transition
2862
+ });
2863
+
2864
+ var uiDefaultFs = "#define GLSLIFY 1\nuniform sampler2D renderer_UITexture;\n\nvarying vec2 v_uv;\nvarying vec4 v_color;\n\nvoid main() {\n vec4 baseColor = texture2D(renderer_UITexture, v_uv);\n gl_FragColor = baseColor * v_color;\n}\n"; // eslint-disable-line
2865
+
2866
+ var uiDefaultVs = "#define GLSLIFY 1\nuniform 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 gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);\n\n v_uv = TEXCOORD_0;\n v_color = COLOR_0;\n}\n"; // eslint-disable-line
2867
+
2815
2868
  /**
2816
2869
  * @internal
2817
2870
  */ var UIHitResult = function UIHitResult() {
@@ -2859,10 +2912,11 @@
2859
2912
  continue;
2860
2913
  }
2861
2914
  camera.screenPointToRay(pointer.position, ray);
2862
- /** Other canvases */ var cameraPosition = camera.entity.transform.position;
2915
+ /** Other canvases */ var isOrthographic = camera.isOrthographic;
2916
+ var _camera_entity_transform = camera.entity.transform, cameraPosition = _camera_entity_transform.worldPosition, cameraForward = _camera_entity_transform.worldForward;
2863
2917
  /** Sort by rendering order */ canvasElements = componentsManager._canvases;
2864
2918
  for(var k = 0, n = canvasElements.length; k < n; k++){
2865
- canvasElements.get(k)._updateSortDistance(cameraPosition);
2919
+ canvasElements.get(k)._updateSortDistance(isOrthographic, cameraPosition, cameraForward);
2866
2920
  }
2867
2921
  canvasElements.sort(function(a, b) {
2868
2922
  return a.sortOrder - b.sortOrder || a._sortDistance - b._sortDistance;
@@ -2873,7 +2927,7 @@
2873
2927
  var farClipPlane = camera.farClipPlane;
2874
2928
  /** Post-rendering first detection */ for(var k2 = 0, n2 = canvasElements.length; k2 < n2; k2++){
2875
2929
  var canvas = canvasElements.get(k2);
2876
- if (canvas.renderCamera !== camera) continue;
2930
+ if (!canvas._canRender(camera)) continue;
2877
2931
  if (canvas.raycast(ray, hitResult, farClipPlane)) {
2878
2932
  this._updateRaycast(hitResult.component, pointer);
2879
2933
  return;
@@ -3068,7 +3122,7 @@
3068
3122
  props = item.props;
3069
3123
  if (!props.font) {
3070
3124
  // @ts-ignore
3071
- instance.font = Font.createFromOS(instance.engine, props.fontFamily || "Arial");
3125
+ instance.font = engine.Font.createFromOS(instance.engine, props.fontFamily || "Arial");
3072
3126
  }
3073
3127
  return [
3074
3128
  2,
@@ -3076,6 +3130,13 @@
3076
3130
  ];
3077
3131
  });
3078
3132
  }));
3133
+ /**
3134
+ * Register GUI components for the editor.
3135
+ */ function registerGUI() {
3136
+ for(var key in GUIComponent){
3137
+ engine.Loader.registerClass(key, GUIComponent[key]);
3138
+ }
3139
+ }
3079
3140
 
3080
3141
  exports.Button = Button;
3081
3142
  exports.CanvasRenderMode = CanvasRenderMode;
@@ -3090,6 +3151,7 @@
3090
3151
  exports.Transition = Transition;
3091
3152
  exports.UIGroup = UIGroup;
3092
3153
  exports.UITransform = UITransform;
3154
+ exports.registerGUI = registerGUI;
3093
3155
 
3094
3156
  Object.defineProperty(exports, '__esModule', { value: true });
3095
3157