@needle-tools/engine 3.2.15-alpha → 3.3.0-alpha
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/CHANGELOG.md +13 -0
- package/dist/needle-engine.js +42120 -35732
- package/dist/needle-engine.min.js +687 -495
- package/dist/needle-engine.umd.cjs +689 -497
- package/lib/engine/codegen/register_types.js +4 -2
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/engine_addressables.d.ts +3 -3
- package/lib/engine/engine_addressables.js +30 -9
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_element.js +1 -1
- package/lib/engine/engine_element.js.map +1 -1
- package/lib/engine/engine_gameobject.d.ts +2 -1
- package/lib/engine/engine_gameobject.js +17 -0
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_input.js +10 -0
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_math.d.ts +4 -0
- package/lib/engine/engine_math.js +6 -0
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine-components/AnimatorController.js +7 -2
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/OrbitControls.js +13 -4
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +8 -4
- package/lib/engine-components/TransformGizmo.js +62 -63
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +2 -1
- package/lib/engine-components/codegen/components.js +2 -1
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/ui/Button.js +9 -5
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +13 -6
- package/lib/engine-components/ui/Canvas.js +101 -37
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +6 -0
- package/lib/engine-components/ui/EventSystem.js +4 -4
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/Graphic.d.ts +5 -2
- package/lib/engine-components/ui/Graphic.js +38 -7
- package/lib/engine-components/ui/Graphic.js.map +1 -1
- package/lib/engine-components/ui/Image.d.ts +1 -0
- package/lib/engine-components/ui/Image.js +10 -1
- package/lib/engine-components/ui/Image.js.map +1 -1
- package/lib/engine-components/ui/InputField.d.ts +1 -0
- package/lib/engine-components/ui/InputField.js +8 -0
- package/lib/engine-components/ui/InputField.js.map +1 -1
- package/lib/engine-components/ui/Interfaces.d.ts +8 -0
- package/lib/engine-components/ui/Outline.d.ts +7 -0
- package/lib/engine-components/ui/Outline.js +21 -0
- package/lib/engine-components/ui/Outline.js.map +1 -0
- package/lib/engine-components/ui/RectTransform.d.ts +29 -11
- package/lib/engine-components/ui/RectTransform.js +178 -46
- package/lib/engine-components/ui/RectTransform.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +13 -10
- package/lib/engine-components/ui/Text.js +177 -246
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +7 -0
- package/lib/engine-components/utils/LookAt.js +29 -0
- package/lib/engine-components/utils/LookAt.js.map +1 -0
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +8 -0
- package/lib/engine-components/webxr/WebXRImageTracking.js +79 -3
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/engine/codegen/register_types.js +4 -2
- package/src/engine/engine_addressables.ts +28 -10
- package/src/engine/engine_element.ts +1 -1
- package/src/engine/engine_gameobject.ts +18 -1
- package/src/engine/engine_input.ts +11 -0
- package/src/engine/engine_math.ts +10 -0
- package/src/engine-components/AnimatorController.ts +7 -1
- package/src/engine-components/OrbitControls.ts +14 -6
- package/src/engine-components/TransformGizmo.ts +64 -70
- package/src/engine-components/codegen/components.ts +2 -1
- package/src/engine-components/ui/Button.ts +14 -9
- package/src/engine-components/ui/Canvas.ts +104 -40
- package/src/engine-components/ui/EventSystem.ts +16 -9
- package/src/engine-components/ui/Graphic.ts +44 -8
- package/src/engine-components/ui/Image.ts +10 -1
- package/src/engine-components/ui/InputField.ts +9 -1
- package/src/engine-components/ui/Interfaces.ts +12 -0
- package/src/engine-components/ui/Outline.ts +13 -0
- package/src/engine-components/ui/RectTransform.ts +203 -60
- package/src/engine-components/ui/Text.ts +284 -265
- package/src/engine-components/utils/LookAt.ts +21 -0
- package/src/engine-components/webxr/WebXRImageTracking.ts +85 -10
- package/lib/engine-components/ui/Keyboard.d.ts +0 -31
- package/lib/engine-components/ui/Keyboard.js +0 -178
- package/lib/engine-components/ui/Keyboard.js.map +0 -1
- package/src/engine-components/ui/Keyboard.ts +0 -204
|
@@ -125,6 +125,14 @@ export class InputField extends Behaviour {
|
|
|
125
125
|
if (InputField.htmlField)
|
|
126
126
|
this.onEndEdit?.invoke(InputField.htmlField.value);
|
|
127
127
|
}
|
|
128
|
+
// @Marwie, I can provide this fix. But the issue seems to comes from Raycaster+EventSystem
|
|
129
|
+
// As we rollout InputField, and no others elements is behind raycast,
|
|
130
|
+
// ThreeMeshUI.update is not called.
|
|
131
|
+
update() {
|
|
132
|
+
if (InputField.active === this) {
|
|
133
|
+
this.textComponent?.markDirty();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
128
136
|
onInput(evt) {
|
|
129
137
|
if (InputField.active !== this)
|
|
130
138
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputField.js","sourceRoot":"","sources":["../../../src/engine-components/ui/InputField.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InputField.js","sourceRoot":"","sources":["../../../src/engine-components/ui/InputField.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { IComponent } from "../../engine/engine_types";
|
|
2
|
+
export interface ICanvas {
|
|
3
|
+
get screenspace(): boolean;
|
|
4
|
+
}
|
|
2
5
|
export interface ICanvasGroup {
|
|
3
6
|
get isCanvasGroup(): boolean;
|
|
4
7
|
blocksRaycasts: boolean;
|
|
@@ -8,3 +11,8 @@ export interface IGraphic extends IComponent {
|
|
|
8
11
|
get isGraphic(): boolean;
|
|
9
12
|
raycastTarget: boolean;
|
|
10
13
|
}
|
|
14
|
+
export interface IRectTransform extends IComponent {
|
|
15
|
+
}
|
|
16
|
+
export interface IRectTransformChangedReceiver {
|
|
17
|
+
onParentRectTransformChanged(comp: IRectTransform): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { RGBAColor } from "../js-extensions";
|
|
8
|
+
import { serializable } from "../../engine/engine_serialization";
|
|
9
|
+
import { Behaviour } from "../Component";
|
|
10
|
+
import { Vector2 } from "three";
|
|
11
|
+
export class Outline extends Behaviour {
|
|
12
|
+
effectColor;
|
|
13
|
+
effectDistance;
|
|
14
|
+
}
|
|
15
|
+
__decorate([
|
|
16
|
+
serializable(RGBAColor)
|
|
17
|
+
], Outline.prototype, "effectColor", void 0);
|
|
18
|
+
__decorate([
|
|
19
|
+
serializable(Vector2)
|
|
20
|
+
], Outline.prototype, "effectDistance", void 0);
|
|
21
|
+
//# sourceMappingURL=Outline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Outline.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Outline.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAS,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,OAAO,OAAQ,SAAQ,SAAS;IAGlC,WAAW,CAAa;IAGxB,cAAc,CAAW;CAC5B;AAJG;IADC,YAAY,CAAC,SAAS,CAAC;4CACA;AAGxB;IADC,YAAY,CAAC,OAAO,CAAC;+CACG"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as ThreeMeshUI from 'three-mesh-ui';
|
|
2
2
|
import { BaseUIComponent } from "./BaseUIComponent";
|
|
3
|
-
import {
|
|
3
|
+
import { DocumentedOptions as ThreeMeshUIEveryOptions } from "three-mesh-ui/build/types/core/elements/MeshUIBaseElement";
|
|
4
|
+
import { Quaternion, Vector2, Vector3 } from "three";
|
|
5
|
+
import { IRectTransform, IRectTransformChangedReceiver } from "./Interfaces";
|
|
4
6
|
export declare class Size {
|
|
5
7
|
width: number;
|
|
6
8
|
height: number;
|
|
@@ -11,29 +13,45 @@ export declare class Rect {
|
|
|
11
13
|
width: number;
|
|
12
14
|
height: number;
|
|
13
15
|
}
|
|
14
|
-
export declare class RectTransform extends BaseUIComponent {
|
|
16
|
+
export declare class RectTransform extends BaseUIComponent implements IRectTransform, IRectTransformChangedReceiver {
|
|
15
17
|
offset: number;
|
|
16
18
|
get translation(): Vector3;
|
|
17
|
-
get rotation():
|
|
18
|
-
get scale():
|
|
19
|
+
get rotation(): Quaternion;
|
|
20
|
+
get scale(): Vector3;
|
|
19
21
|
private _anchoredPosition;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
pivot?:
|
|
22
|
+
get anchoredPosition(): Vector3;
|
|
23
|
+
private set anchoredPosition(value);
|
|
24
|
+
private rect?;
|
|
25
|
+
sizeDelta: Vector2;
|
|
26
|
+
pivot?: Vector2;
|
|
27
|
+
anchorMin: Vector2;
|
|
28
|
+
anchorMax: Vector2;
|
|
29
|
+
offsetMin: Vector2;
|
|
30
|
+
offsetMax: Vector2;
|
|
31
|
+
get width(): any;
|
|
32
|
+
get height(): any;
|
|
33
|
+
private lastMatrixWorld;
|
|
25
34
|
private lastMatrix;
|
|
26
35
|
private rectBlock;
|
|
27
36
|
private _transformNeedsUpdate;
|
|
28
37
|
awake(): void;
|
|
29
38
|
onEnable(): void;
|
|
30
39
|
onDisable(): void;
|
|
40
|
+
onParentRectTransformChanged(_comp: IRectTransform): void;
|
|
41
|
+
private _parentRectTransform?;
|
|
31
42
|
private applyTransform;
|
|
43
|
+
private _copyMatrixAfterRender;
|
|
32
44
|
markDirty(): void;
|
|
33
45
|
onBeforeRender(): void;
|
|
46
|
+
onAfterRender(): void;
|
|
47
|
+
/** applies the position offset to the passed in vector */
|
|
34
48
|
private applyAnchoring;
|
|
35
|
-
|
|
49
|
+
/** applies the pivot offset to the passed in vector */
|
|
50
|
+
private applyPivot;
|
|
51
|
+
getBasicOptions(): ThreeMeshUIEveryOptions;
|
|
36
52
|
private ensureValidSize;
|
|
37
53
|
private _createdBlocks;
|
|
38
|
-
|
|
54
|
+
private _createdTextBlocks;
|
|
55
|
+
createNewBlock(opts?: ThreeMeshUIEveryOptions | object): ThreeMeshUI.Block;
|
|
56
|
+
createNewText(opts?: ThreeMeshUIEveryOptions | object): ThreeMeshUI.Block;
|
|
39
57
|
}
|
|
@@ -7,10 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import * as ThreeMeshUI from 'three-mesh-ui';
|
|
8
8
|
import { BaseUIComponent } from "./BaseUIComponent";
|
|
9
9
|
import { serializable } from "../../engine/engine_serialization_decorator";
|
|
10
|
-
import { Matrix4, Object3D, Vector2, Vector3 } from "three";
|
|
11
|
-
import { EventSystem } from "./EventSystem";
|
|
10
|
+
import { Matrix4, Object3D, Quaternion, Vector2, Vector3 } from "three";
|
|
12
11
|
import { getParam } from "../../engine/engine_utils";
|
|
13
12
|
import { onChange } from "./Utils";
|
|
13
|
+
import { foreachComponentEnumerator } from "../../engine/engine_gameobject";
|
|
14
|
+
import { GameObject } from '../Component';
|
|
14
15
|
const debug = getParam("debugui");
|
|
15
16
|
export class Size {
|
|
16
17
|
width;
|
|
@@ -22,8 +23,11 @@ export class Rect {
|
|
|
22
23
|
width;
|
|
23
24
|
height;
|
|
24
25
|
}
|
|
26
|
+
const tempVec = new Vector3();
|
|
27
|
+
const tempMatrix = new Matrix4();
|
|
28
|
+
const tempQuaternion = new Quaternion();
|
|
25
29
|
export class RectTransform extends BaseUIComponent {
|
|
26
|
-
offset = 0.
|
|
30
|
+
offset = 0.05;
|
|
27
31
|
// @serializable(Object3D)
|
|
28
32
|
// root? : Object3D;
|
|
29
33
|
get translation() { return this.gameObject.position; }
|
|
@@ -35,15 +39,47 @@ export class RectTransform extends BaseUIComponent {
|
|
|
35
39
|
this._anchoredPosition = new Vector3();
|
|
36
40
|
return this._anchoredPosition;
|
|
37
41
|
}
|
|
38
|
-
|
|
42
|
+
set anchoredPosition(value) {
|
|
43
|
+
this._anchoredPosition = value;
|
|
44
|
+
}
|
|
45
|
+
rect; // TODO: should we use the rect or sizeDelta?
|
|
39
46
|
sizeDelta;
|
|
40
|
-
anchoredPosition3D;
|
|
41
47
|
pivot;
|
|
48
|
+
anchorMin;
|
|
49
|
+
anchorMax;
|
|
50
|
+
offsetMin;
|
|
51
|
+
offsetMax;
|
|
52
|
+
get width() {
|
|
53
|
+
if (this.anchorMin.x !== this.anchorMax.x) {
|
|
54
|
+
if (this._parentRectTransform) {
|
|
55
|
+
const parentWidth = this._parentRectTransform.width;
|
|
56
|
+
const anchorWidth = this.anchorMax.x - this.anchorMin.x;
|
|
57
|
+
let width = parentWidth * anchorWidth;
|
|
58
|
+
width += this.sizeDelta.x;
|
|
59
|
+
return width;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return this.sizeDelta.x;
|
|
63
|
+
}
|
|
64
|
+
get height() {
|
|
65
|
+
if (this.anchorMin.y !== this.anchorMax.y) {
|
|
66
|
+
if (this._parentRectTransform) {
|
|
67
|
+
const parentHeight = this._parentRectTransform.height;
|
|
68
|
+
const anchorHeight = this.anchorMax.y - this.anchorMin.y;
|
|
69
|
+
let height = parentHeight * anchorHeight;
|
|
70
|
+
height += this.sizeDelta.y;
|
|
71
|
+
return height;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return this.sizeDelta.y;
|
|
75
|
+
}
|
|
76
|
+
lastMatrixWorld;
|
|
42
77
|
lastMatrix;
|
|
43
78
|
rectBlock;
|
|
44
79
|
_transformNeedsUpdate = false;
|
|
45
80
|
awake() {
|
|
46
81
|
super.awake();
|
|
82
|
+
this.lastMatrixWorld = new Matrix4();
|
|
47
83
|
this.lastMatrix = new Matrix4();
|
|
48
84
|
this.rectBlock = new Object3D();
|
|
49
85
|
;
|
|
@@ -52,7 +88,24 @@ export class RectTransform extends BaseUIComponent {
|
|
|
52
88
|
// this is required if an animator animated the transform anchoring
|
|
53
89
|
if (!this._anchoredPosition)
|
|
54
90
|
this._anchoredPosition = new Vector3();
|
|
91
|
+
// TODO: we need to replace this with the watch that e.g. Rigibody is using (or the one in utils?)
|
|
92
|
+
// perhaps we can also just manually check the few properties in the update loops?
|
|
55
93
|
onChange(this, "_anchoredPosition", () => { this._transformNeedsUpdate = true; });
|
|
94
|
+
onChange(this, "sizeDelta", () => { this._transformNeedsUpdate = true; });
|
|
95
|
+
onChange(this, "pivot", () => { this._transformNeedsUpdate = true; });
|
|
96
|
+
// When exported with an anchored position offset we remove it here
|
|
97
|
+
// because it would otherwise be applied twice when the anchoring is animated
|
|
98
|
+
// Maybe we can get rid of this workaround if we just set the mesh ui position from the
|
|
99
|
+
// anchored position value but then we would have to make sure if a user/the engine updates
|
|
100
|
+
// "position" the change would also land in anchoredPosition
|
|
101
|
+
// Another solution would perhaps be to get rid of the extra "anchoredPosition" vector3
|
|
102
|
+
// and instead use the same vector3 instance on both "position" and "anchoredPosition"
|
|
103
|
+
// But I'm also not sure if this will not cause issues elsewhere later / be confusing?
|
|
104
|
+
// (that being said we can make anchoredPosition hidden)
|
|
105
|
+
if (!this.isRoot()) {
|
|
106
|
+
this.gameObject.position.x += this.anchoredPosition.x;
|
|
107
|
+
this.gameObject.position.y -= this.anchoredPosition.y;
|
|
108
|
+
}
|
|
56
109
|
}
|
|
57
110
|
onEnable() {
|
|
58
111
|
super.onEnable();
|
|
@@ -63,67 +116,119 @@ export class RectTransform extends BaseUIComponent {
|
|
|
63
116
|
super.onDisable();
|
|
64
117
|
this.removeShadowComponent();
|
|
65
118
|
}
|
|
119
|
+
onParentRectTransformChanged(_comp) {
|
|
120
|
+
// When the parent rect transform changes we have to to recalculate our transform
|
|
121
|
+
this._transformNeedsUpdate = true;
|
|
122
|
+
this.applyTransform();
|
|
123
|
+
}
|
|
124
|
+
_parentRectTransform;
|
|
66
125
|
applyTransform() {
|
|
67
126
|
const uiobject = this.shadowComponent;
|
|
68
127
|
if (!uiobject)
|
|
69
128
|
return;
|
|
70
129
|
this._transformNeedsUpdate = false;
|
|
130
|
+
this._parentRectTransform = GameObject.getComponentInParent(this.gameObject.parent, RectTransform);
|
|
131
|
+
if (debug)
|
|
132
|
+
console.log("RectTransform ApplyTransform", this.name, this.isRoot());
|
|
71
133
|
if (!this.isRoot()) {
|
|
72
|
-
//
|
|
73
|
-
|
|
74
|
-
uiobject.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
uiobject.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
134
|
+
// Reset temp matrix
|
|
135
|
+
uiobject.matrix.identity();
|
|
136
|
+
uiobject.matrixAutoUpdate = false;
|
|
137
|
+
// calc pivot and apply
|
|
138
|
+
tempVec.set(0, 0, 0);
|
|
139
|
+
this.applyPivot(tempVec);
|
|
140
|
+
uiobject.matrix.setPosition(tempVec.x, tempVec.y, 0);
|
|
141
|
+
// calc rotation matrix and apply (we can skip this if it's not rotated)
|
|
142
|
+
if (this.gameObject.quaternion.x || this.gameObject.quaternion.y || this.gameObject.quaternion.z) {
|
|
143
|
+
tempQuaternion.copy(this.gameObject.quaternion);
|
|
144
|
+
tempQuaternion.x *= -1;
|
|
145
|
+
tempQuaternion.z *= -1;
|
|
146
|
+
tempMatrix.makeRotationFromQuaternion(tempQuaternion);
|
|
147
|
+
uiobject.matrix.premultiply(tempMatrix);
|
|
148
|
+
}
|
|
149
|
+
// calc anchors and offset and apply
|
|
150
|
+
tempVec.set(0, 0, 0);
|
|
151
|
+
this.applyAnchoring(tempVec);
|
|
152
|
+
tempVec.z += this.offset;
|
|
153
|
+
tempVec.z -= this.gameObject.position.z;
|
|
154
|
+
tempMatrix.identity();
|
|
155
|
+
tempMatrix.setPosition(tempVec.x, tempVec.y, tempVec.z);
|
|
156
|
+
uiobject.matrix.premultiply(tempMatrix);
|
|
157
|
+
// apply scale if necessary
|
|
158
|
+
if (this.gameObject.scale.x || this.gameObject.scale.y || this.gameObject.scale.z)
|
|
159
|
+
uiobject.matrix.scale(this.gameObject.scale);
|
|
84
160
|
}
|
|
85
161
|
else {
|
|
86
|
-
|
|
162
|
+
// We have to rotate the canvas when it's in worldspace
|
|
163
|
+
const canvas = this.Root;
|
|
164
|
+
if (!canvas.screenspace)
|
|
165
|
+
uiobject.rotation.y = Math.PI;
|
|
87
166
|
}
|
|
88
|
-
this.
|
|
167
|
+
this._copyMatrixAfterRender = true;
|
|
89
168
|
this.lastMatrix.copy(this.gameObject.matrix);
|
|
169
|
+
// iterate other components on this object that might need to know about the transform change
|
|
170
|
+
// e.g. Graphic components should update their width and height
|
|
171
|
+
const includeChildren = true;
|
|
172
|
+
for (const comp of foreachComponentEnumerator(this.gameObject, BaseUIComponent, includeChildren)) {
|
|
173
|
+
if (comp === this)
|
|
174
|
+
continue;
|
|
175
|
+
const callback = comp;
|
|
176
|
+
if (callback.onParentRectTransformChanged)
|
|
177
|
+
callback.onParentRectTransformChanged(this);
|
|
178
|
+
}
|
|
90
179
|
}
|
|
180
|
+
_copyMatrixAfterRender = false;
|
|
91
181
|
markDirty() {
|
|
92
182
|
this._transformNeedsUpdate = true;
|
|
93
183
|
}
|
|
94
184
|
onBeforeRender() {
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
// it does not emit any UI elements and therefor we dont want to change its transform
|
|
98
|
-
// if (this._parentComponent)
|
|
99
|
-
// {
|
|
100
|
-
const transformChanged = this._transformNeedsUpdate || this.lastMatrix.equals(this.gameObject.matrix) === false;
|
|
185
|
+
// TODO: instead of checking matrix again it would perhaps be better to test if position, rotation or scale have changed individually?
|
|
186
|
+
const transformChanged = this.gameObject.matrixWorldNeedsUpdate || this._transformNeedsUpdate || !this.lastMatrixWorld.equals(this.gameObject.matrixWorld) || !this.lastMatrix.equals(this.gameObject.matrix);
|
|
101
187
|
if (transformChanged) {
|
|
102
|
-
if (debug)
|
|
103
|
-
console.log("updating", this.name);
|
|
104
188
|
this.applyTransform();
|
|
105
189
|
}
|
|
106
|
-
// }
|
|
107
|
-
EventSystem.ensureUpdateMeshUI(ThreeMeshUI, this.context);
|
|
108
190
|
}
|
|
191
|
+
onAfterRender() {
|
|
192
|
+
if (this._copyMatrixAfterRender) {
|
|
193
|
+
// can we only have this event when the transform changed in this frame? Otherwise all RectTransforms will be iterated. Not sure what is better
|
|
194
|
+
this.lastMatrixWorld.copy(this.gameObject.matrixWorld);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/** applies the position offset to the passed in vector */
|
|
109
198
|
applyAnchoring(pos) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
pos.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
199
|
+
pos.x += this.anchoredPosition.x;
|
|
200
|
+
pos.y += this.anchoredPosition.y;
|
|
201
|
+
const parent = this._parentRectTransform;
|
|
202
|
+
if (parent) {
|
|
203
|
+
// Calculate vertical offset
|
|
204
|
+
let oy = 0;
|
|
205
|
+
const vert = 1 - this.anchorMax.y - this.anchorMin.y;
|
|
206
|
+
oy -= (parent.height * .5) * vert;
|
|
207
|
+
pos.y += oy;
|
|
208
|
+
// calculate horizontal offset
|
|
209
|
+
let ox = 0;
|
|
210
|
+
const horz = 1 - this.anchorMax.x - this.anchorMin.x;
|
|
211
|
+
ox -= (parent.width * .5) * horz;
|
|
212
|
+
pos.x += ox;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/** applies the pivot offset to the passed in vector */
|
|
216
|
+
applyPivot(vec) {
|
|
217
|
+
if (this.pivot && !this.isRoot()) {
|
|
218
|
+
const pv = this.pivot.x - .5;
|
|
219
|
+
vec.x -= pv * this.sizeDelta.x * this.gameObject.scale.x;
|
|
220
|
+
const ph = this.pivot.y - .5;
|
|
221
|
+
vec.y -= ph * this.sizeDelta.y * this.gameObject.scale.y;
|
|
124
222
|
}
|
|
125
223
|
}
|
|
126
224
|
getBasicOptions() {
|
|
225
|
+
// @TODO : instead of getBasicOptions for each component we could use once needleEngine initialized
|
|
226
|
+
// ThreeMeshUI.DefaultValues.set({
|
|
227
|
+
// backgroundOpacity: 1,
|
|
228
|
+
// borderWidth: 0, // if we dont specify width here a border will automatically propagated to child blocks
|
|
229
|
+
// borderRadius: 0,
|
|
230
|
+
// borderOpacity: 0,
|
|
231
|
+
// })
|
|
127
232
|
const opts = {
|
|
128
233
|
width: this.rect.width,
|
|
129
234
|
height: this.rect.height,
|
|
@@ -132,6 +237,7 @@ export class RectTransform extends BaseUIComponent {
|
|
|
132
237
|
borderWidth: 0,
|
|
133
238
|
borderRadius: 0,
|
|
134
239
|
borderOpacity: 0,
|
|
240
|
+
letterSpacing: -0.03,
|
|
135
241
|
// justifyContent: 'center',
|
|
136
242
|
// alignItems: 'center',
|
|
137
243
|
// alignContent: 'center',
|
|
@@ -150,6 +256,7 @@ export class RectTransform extends BaseUIComponent {
|
|
|
150
256
|
return opts;
|
|
151
257
|
}
|
|
152
258
|
_createdBlocks = [];
|
|
259
|
+
_createdTextBlocks = [];
|
|
153
260
|
createNewBlock(opts) {
|
|
154
261
|
opts = {
|
|
155
262
|
...this.getBasicOptions(),
|
|
@@ -161,17 +268,42 @@ export class RectTransform extends BaseUIComponent {
|
|
|
161
268
|
this._createdBlocks.push(block);
|
|
162
269
|
return block;
|
|
163
270
|
}
|
|
271
|
+
createNewText(opts) {
|
|
272
|
+
if (debug)
|
|
273
|
+
console.log(opts);
|
|
274
|
+
opts = {
|
|
275
|
+
...this.getBasicOptions(),
|
|
276
|
+
...opts,
|
|
277
|
+
};
|
|
278
|
+
if (debug)
|
|
279
|
+
console.log(this.name, opts);
|
|
280
|
+
const block = new ThreeMeshUI.Text(opts);
|
|
281
|
+
this._createdTextBlocks.push(block);
|
|
282
|
+
return block;
|
|
283
|
+
}
|
|
164
284
|
}
|
|
285
|
+
__decorate([
|
|
286
|
+
serializable(Vector3)
|
|
287
|
+
], RectTransform.prototype, "anchoredPosition", null);
|
|
165
288
|
__decorate([
|
|
166
289
|
serializable(Rect)
|
|
167
290
|
], RectTransform.prototype, "rect", void 0);
|
|
168
291
|
__decorate([
|
|
169
292
|
serializable(Vector2)
|
|
170
293
|
], RectTransform.prototype, "sizeDelta", void 0);
|
|
171
|
-
__decorate([
|
|
172
|
-
serializable(Vector3)
|
|
173
|
-
], RectTransform.prototype, "anchoredPosition3D", void 0);
|
|
174
294
|
__decorate([
|
|
175
295
|
serializable(Vector2)
|
|
176
296
|
], RectTransform.prototype, "pivot", void 0);
|
|
297
|
+
__decorate([
|
|
298
|
+
serializable(Vector2)
|
|
299
|
+
], RectTransform.prototype, "anchorMin", void 0);
|
|
300
|
+
__decorate([
|
|
301
|
+
serializable(Vector2)
|
|
302
|
+
], RectTransform.prototype, "anchorMax", void 0);
|
|
303
|
+
__decorate([
|
|
304
|
+
serializable(Vector2)
|
|
305
|
+
], RectTransform.prototype, "offsetMin", void 0);
|
|
306
|
+
__decorate([
|
|
307
|
+
serializable(Vector2)
|
|
308
|
+
], RectTransform.prototype, "offsetMax", void 0);
|
|
177
309
|
//# sourceMappingURL=RectTransform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RectTransform.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RectTransform.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"RectTransform.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RectTransform.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAS,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAElC,MAAM,OAAO,IAAI;IACb,KAAK,CAAU;IACf,MAAM,CAAU;CACnB;AAED,MAAM,OAAO,IAAI;IACb,CAAC,CAAU;IACX,CAAC,CAAU;IACX,KAAK,CAAU;IACf,MAAM,CAAU;CACnB;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,MAAM,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;AACjC,MAAM,cAAc,GAAG,IAAI,UAAU,EAAE,CAAC;AAExC,MAAM,OAAO,aAAc,SAAQ,eAAe;IAE9C,MAAM,GAAW,IAAI,CAAC;IAEtB,0BAA0B;IAC1B,oBAAoB;IAEpB,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9C,iBAAiB,CAAW;IAGpC,IAAI,gBAAgB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAY,gBAAgB,CAAC,KAAc;QACvC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACnC,CAAC;IAGO,IAAI,CAAQ,CAAC,6CAA6C;IAGlE,SAAS,CAAW;IAGpB,KAAK,CAAW;IAGhB,SAAS,CAAW;IAEpB,SAAS,CAAW;IAGpB,SAAS,CAAW;IAEpB,SAAS,CAAW;IAEpB,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;YACvC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACxD,IAAI,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;gBACtC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1B,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;YACvC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBACtD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzD,IAAI,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC;gBACzC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3B,OAAO,MAAM,CAAA;aAChB;SACJ;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEO,eAAe,CAAW;IAC1B,UAAU,CAAW;IACrB,SAAS,CAAY;IACrB,qBAAqB,GAAY,KAAK,CAAC;IAE/C,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAAA,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEhC,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAC;QAEpE,kGAAkG;QAClG,kFAAkF;QAClF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,oEAAoE;QACpE,6EAA6E;QAC7E,uFAAuF;QACvF,2FAA2F;QAC3F,4DAA4D;QAC5D,wFAAwF;QACxF,sFAAsF;QACtF,sFAAsF;QACtF,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IAED,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,SAAS;QACL,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED,4BAA4B,CAAC,KAAqB;QAC9C,iFAAiF;QACjF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,oBAAoB,CAAiB;IAErC,cAAc;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAO,EAAE,aAAa,CAAkB,CAAC;QAErH,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAChB,oBAAoB;YACpB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAClC,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzB,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,wEAAwE;YACxE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC9F,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAChD,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvB,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvB,UAAU,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;gBACtD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;aAC3C;YACD,oCAAoC;YACpC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;YACzB,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACxD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACxC,2BAA2B;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC7E,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACpD;aACI;YACD,uDAAuD;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAsB,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;SAC1D;QAED,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7C,6FAA6F;QAC7F,+DAA+D;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE;YAC9F,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS;YAC5B,MAAM,QAAQ,GAAG,IAA4C,CAAC;YAC9D,IAAI,QAAQ,CAAC,4BAA4B;gBACrC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;SACnD;IACL,CAAC;IAEO,sBAAsB,GAAY,KAAK,CAAC;IAEhD,SAAS;QACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACtC,CAAC;IAGD,cAAc;QACV,sIAAsI;QACtI,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9M,IAAI,gBAAgB,EACpB;YACI,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;IACL,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,+IAA+I;YAC/I,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,0DAA0D;IAClD,cAAc,CAAC,GAAY;QAC/B,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,IAAI,MAAM,EAAE;YACR,4BAA4B;YAC5B,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;YAClC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAEZ,8BAA8B;YAC9B,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;YACjC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;SACf;IACL,CAAC;IAED,uDAAuD;IAC/C,UAAU,CAAC,GAAY;QAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5D;IACL,CAAC;IAED,eAAe;QAEX,mGAAmG;QACnG,kCAAkC;QAClC,4BAA4B;QAC5B,8GAA8G;QAC9G,uBAAuB;QACvB,wBAAwB;QACxB,KAAK;QAEL,MAAM,IAAI,GAAG;YACT,KAAK,EAAE,IAAI,CAAC,IAAK,CAAC,KAAK;YACvB,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC,MAAM;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC,IAAI;YACpB,4BAA4B;YAC5B,wBAAwB;YACxB,0BAA0B;YAC1B,uCAAuC;SAC1C,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0EAA0E;IAClE,eAAe,CAAC,IAAU,EAAE,aAAa,GAAG,MAAM;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,GAAwB,EAAE,CAAC;IACzC,kBAAkB,GAAuB,EAAE,CAAC;IAEpD,cAAc,CAAC,IAAuC;QAClD,IAAI,GAAG;YACH,GAAG,IAAI,CAAC,eAAe,EAAE;YACzB,GAAG,IAAI;SACV,CAAC;QACF,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,IAA+B,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,IAAuC;QACjD,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,GAAG;YACH,GAAG,IAAI,CAAC,eAAe,EAAE;YACzB,GAAG,IAAI;SACV,CAAC;QACF,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA3RG;IADC,YAAY,CAAC,OAAO,CAAC;qDAIrB;AAMD;IADC,YAAY,CAAC,IAAI,CAAC;2CACC;AAGpB;IADC,YAAY,CAAC,OAAO,CAAC;gDACF;AAGpB;IADC,YAAY,CAAC,OAAO,CAAC;4CACN;AAGhB;IADC,YAAY,CAAC,OAAO,CAAC;gDACF;AAEpB;IADC,YAAY,CAAC,OAAO,CAAC;gDACF;AAGpB;IADC,YAAY,CAAC,OAAO,CAAC;gDACF;AAEpB;IADC,YAAY,CAAC,OAAO,CAAC;gDACF"}
|
|
@@ -19,7 +19,7 @@ declare enum HorizontalWrapMode {
|
|
|
19
19
|
Wrap = 0,
|
|
20
20
|
Overflow = 1
|
|
21
21
|
}
|
|
22
|
-
declare enum FontStyle {
|
|
22
|
+
export declare enum FontStyle {
|
|
23
23
|
Normal = 0,
|
|
24
24
|
Bold = 1,
|
|
25
25
|
Italic = 2,
|
|
@@ -40,29 +40,32 @@ export declare class Text extends Graphic {
|
|
|
40
40
|
get fontSize(): number;
|
|
41
41
|
set fontSize(val: number);
|
|
42
42
|
protected onColorChanged(): void;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
private
|
|
43
|
+
onParentRectTransformChanged(): void;
|
|
44
|
+
onBeforeRender(): void;
|
|
45
|
+
private updateOverflow;
|
|
46
46
|
protected onCreate(_opts: any): void;
|
|
47
47
|
onAfterAddedToScene(): void;
|
|
48
48
|
private _text;
|
|
49
49
|
private _fontSize;
|
|
50
50
|
private _textMeshUi;
|
|
51
|
-
private _textContainer;
|
|
52
51
|
private getTextOpts;
|
|
53
52
|
onEnable(): void;
|
|
54
|
-
private createBlock;
|
|
55
53
|
private getAlignment;
|
|
56
|
-
private
|
|
57
|
-
private ensureShadowComponentOwner;
|
|
58
|
-
private createText;
|
|
54
|
+
private feedText;
|
|
59
55
|
private _didHandleTextRenderOnTop;
|
|
60
56
|
private handleTextRenderOnTop;
|
|
61
57
|
private renderOnTopCoroutine;
|
|
62
58
|
private handleTag;
|
|
63
59
|
private getText;
|
|
64
60
|
private getNextTag;
|
|
61
|
+
/**
|
|
62
|
+
* Update provided opts to have a proper fontDefinition : family+weight+style
|
|
63
|
+
* Ensure Family and Variant are registered in FontLibrary
|
|
64
|
+
*
|
|
65
|
+
* @param opts
|
|
66
|
+
* @param fontStyle
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
65
69
|
private setFont;
|
|
66
|
-
private getFontStyleName;
|
|
67
70
|
}
|
|
68
71
|
export {};
|