@needle-tools/engine 3.2.15-alpha → 3.4.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 +23 -0
- package/dist/needle-engine.js +44005 -36382
- package/dist/needle-engine.min.js +706 -513
- package/dist/needle-engine.umd.cjs +685 -492
- package/lib/engine/codegen/register_types.js +54 -4
- 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 +19 -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/engine_three_utils.js +2 -2
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine-components/Animation.js +4 -0
- package/lib/engine-components/Animation.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 +27 -2
- package/lib/engine-components/codegen/components.js +27 -2
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +4 -4
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +86 -0
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +830 -0
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -0
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +6 -3
- package/lib/engine-components/export/usdz/USDZExporter.js +34 -11
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +15 -15
- package/lib/engine-components/export/usdz/extensions/Animation.js +24 -29
- package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -0
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +7 -0
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js.map +1 -0
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +47 -0
- package/lib/engine-components/export/usdz/extensions/USDZText.js +114 -0
- package/lib/engine-components/export/usdz/extensions/USDZText.js.map +1 -0
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -0
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +89 -0
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js.map +1 -0
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +23 -0
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +114 -0
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js.map +1 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +96 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +421 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +111 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +409 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js.map +1 -0
- package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
- package/lib/engine-components/ui/BaseUIComponent.d.ts +2 -0
- package/lib/engine-components/ui/BaseUIComponent.js +6 -0
- package/lib/engine-components/ui/BaseUIComponent.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 +23 -6
- package/lib/engine-components/ui/Canvas.js +167 -34
- 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 +14 -5
- 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 +19 -0
- package/lib/engine-components/ui/Interfaces.js +11 -0
- package/lib/engine-components/ui/Interfaces.js.map +1 -1
- package/lib/engine-components/ui/Layout.d.ts +65 -3
- package/lib/engine-components/ui/Layout.js +304 -3
- package/lib/engine-components/ui/Layout.js.map +1 -1
- 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 +32 -13
- package/lib/engine-components/ui/RectTransform.js +216 -56
- 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 +13 -0
- package/lib/engine-components/utils/LookAt.js +66 -0
- package/lib/engine-components/utils/LookAt.js.map +1 -0
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +12 -3
- package/lib/engine-components/webxr/WebXRImageTracking.js +156 -24
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/plugins/vite/reload.js +13 -2
- package/src/engine/codegen/register_types.js +56 -6
- package/src/engine/engine_addressables.ts +28 -10
- package/src/engine/engine_element.ts +1 -1
- package/src/engine/engine_gameobject.ts +19 -1
- package/src/engine/engine_input.ts +11 -0
- package/src/engine/engine_math.ts +10 -0
- package/src/engine/engine_three_utils.ts +2 -2
- package/src/engine-components/Animation.ts +4 -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 +27 -2
- package/src/engine-components/export/usdz/Extension.ts +4 -5
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +1280 -0
- package/src/engine-components/export/usdz/USDZExporter.ts +39 -17
- package/src/engine-components/export/usdz/extensions/Animation.ts +37 -45
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +10 -0
- package/src/engine-components/export/usdz/extensions/USDZText.ts +142 -0
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -0
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +181 -0
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +503 -0
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +459 -0
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
- package/src/engine-components/ui/BaseUIComponent.ts +7 -1
- package/src/engine-components/ui/Button.ts +14 -9
- package/src/engine-components/ui/Canvas.ts +178 -39
- package/src/engine-components/ui/EventSystem.ts +16 -9
- package/src/engine-components/ui/Graphic.ts +46 -8
- package/src/engine-components/ui/Image.ts +13 -4
- package/src/engine-components/ui/InputField.ts +9 -1
- package/src/engine-components/ui/Interfaces.ts +39 -3
- package/src/engine-components/ui/Layout.ts +303 -4
- package/src/engine-components/ui/Outline.ts +13 -0
- package/src/engine-components/ui/RectTransform.ts +236 -68
- package/src/engine-components/ui/Text.ts +284 -265
- package/src/engine-components/utils/LookAt.ts +74 -0
- package/src/engine-components/webxr/WebXRImageTracking.ts +179 -31
- package/lib/engine-components/export/usdz/types.d.ts +0 -34
- package/lib/engine-components/export/usdz/types.js +0 -2
- package/lib/engine-components/export/usdz/types.js.map +0 -1
- 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/export/usdz/types.ts +0 -39
- package/src/engine-components/ui/Keyboard.ts +0 -204
|
@@ -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,46 @@ 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;
|
|
25
33
|
private lastMatrix;
|
|
26
34
|
private rectBlock;
|
|
27
35
|
private _transformNeedsUpdate;
|
|
28
36
|
awake(): void;
|
|
29
37
|
onEnable(): void;
|
|
30
38
|
onDisable(): void;
|
|
31
|
-
|
|
39
|
+
onParentRectTransformChanged(comp: IRectTransform): void;
|
|
40
|
+
get isDirty(): boolean;
|
|
32
41
|
markDirty(): void;
|
|
33
|
-
|
|
42
|
+
/** Will update the transforms if it changed or is dirty */
|
|
43
|
+
updateTransform(): void;
|
|
44
|
+
private _parentRectTransform?;
|
|
45
|
+
private _lastUpdateFrame;
|
|
46
|
+
private canUpdate;
|
|
47
|
+
private onApplyTransform;
|
|
48
|
+
/** applies the position offset to the passed in vector */
|
|
34
49
|
private applyAnchoring;
|
|
35
|
-
|
|
50
|
+
/** applies the pivot offset to the passed in vector */
|
|
51
|
+
private applyPivot;
|
|
52
|
+
getBasicOptions(): ThreeMeshUIEveryOptions;
|
|
36
53
|
private ensureValidSize;
|
|
37
54
|
private _createdBlocks;
|
|
38
|
-
|
|
55
|
+
private _createdTextBlocks;
|
|
56
|
+
createNewBlock(opts?: ThreeMeshUIEveryOptions | object): ThreeMeshUI.Block;
|
|
57
|
+
createNewText(opts?: ThreeMeshUIEveryOptions | object): ThreeMeshUI.Block;
|
|
39
58
|
}
|
|
@@ -7,11 +7,13 @@ 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");
|
|
16
|
+
const debugLayout = getParam("debuguilayout");
|
|
15
17
|
export class Size {
|
|
16
18
|
width;
|
|
17
19
|
height;
|
|
@@ -22,8 +24,11 @@ export class Rect {
|
|
|
22
24
|
width;
|
|
23
25
|
height;
|
|
24
26
|
}
|
|
27
|
+
const tempVec = new Vector3();
|
|
28
|
+
const tempMatrix = new Matrix4();
|
|
29
|
+
const tempQuaternion = new Quaternion();
|
|
25
30
|
export class RectTransform extends BaseUIComponent {
|
|
26
|
-
offset = 0.
|
|
31
|
+
offset = 0.1;
|
|
27
32
|
// @serializable(Object3D)
|
|
28
33
|
// root? : Object3D;
|
|
29
34
|
get translation() { return this.gameObject.position; }
|
|
@@ -35,10 +40,41 @@ export class RectTransform extends BaseUIComponent {
|
|
|
35
40
|
this._anchoredPosition = new Vector3();
|
|
36
41
|
return this._anchoredPosition;
|
|
37
42
|
}
|
|
38
|
-
|
|
43
|
+
set anchoredPosition(value) {
|
|
44
|
+
this._anchoredPosition = value;
|
|
45
|
+
}
|
|
46
|
+
rect; // TODO: should we use the rect or sizeDelta?
|
|
39
47
|
sizeDelta;
|
|
40
|
-
anchoredPosition3D;
|
|
41
48
|
pivot;
|
|
49
|
+
anchorMin;
|
|
50
|
+
anchorMax;
|
|
51
|
+
offsetMin;
|
|
52
|
+
offsetMax;
|
|
53
|
+
get width() {
|
|
54
|
+
if (this.anchorMin.x !== this.anchorMax.x) {
|
|
55
|
+
if (this._parentRectTransform) {
|
|
56
|
+
const parentWidth = this._parentRectTransform.width;
|
|
57
|
+
const anchorWidth = this.anchorMax.x - this.anchorMin.x;
|
|
58
|
+
let width = parentWidth * anchorWidth;
|
|
59
|
+
width += this.sizeDelta.x;
|
|
60
|
+
return width;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return this.sizeDelta.x;
|
|
64
|
+
}
|
|
65
|
+
get height() {
|
|
66
|
+
if (this.anchorMin.y !== this.anchorMax.y) {
|
|
67
|
+
if (this._parentRectTransform) {
|
|
68
|
+
const parentHeight = this._parentRectTransform.height;
|
|
69
|
+
const anchorHeight = this.anchorMax.y - this.anchorMin.y;
|
|
70
|
+
let height = parentHeight * anchorHeight;
|
|
71
|
+
height += this.sizeDelta.y;
|
|
72
|
+
return height;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return this.sizeDelta.y;
|
|
76
|
+
}
|
|
77
|
+
// private lastMatrixWorld!: Matrix4;
|
|
42
78
|
lastMatrix;
|
|
43
79
|
rectBlock;
|
|
44
80
|
_transformNeedsUpdate = false;
|
|
@@ -52,78 +88,175 @@ 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();
|
|
55
|
-
|
|
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?
|
|
93
|
+
// TODO: check if value actually changed, this is called on assignment
|
|
94
|
+
onChange(this, "_anchoredPosition", () => { this.markDirty(); });
|
|
95
|
+
onChange(this, "sizeDelta", () => { this.markDirty(); });
|
|
96
|
+
onChange(this, "pivot", () => { this.markDirty(); });
|
|
97
|
+
// When exported with an anchored position offset we remove it here
|
|
98
|
+
// because it would otherwise be applied twice when the anchoring is animated
|
|
99
|
+
// Maybe we can get rid of this workaround if we just set the mesh ui position from the
|
|
100
|
+
// anchored position value but then we would have to make sure if a user/the engine updates
|
|
101
|
+
// "position" the change would also land in anchoredPosition
|
|
102
|
+
// Another solution would perhaps be to get rid of the extra "anchoredPosition" vector3
|
|
103
|
+
// and instead use the same vector3 instance on both "position" and "anchoredPosition"
|
|
104
|
+
// But I'm also not sure if this will not cause issues elsewhere later / be confusing?
|
|
105
|
+
// (that being said we can make anchoredPosition hidden)
|
|
106
|
+
if (!this.isRoot()) {
|
|
107
|
+
this.gameObject.position.x += this.anchoredPosition.x;
|
|
108
|
+
this.gameObject.position.y -= this.anchoredPosition.y;
|
|
109
|
+
}
|
|
56
110
|
}
|
|
57
111
|
onEnable() {
|
|
58
112
|
super.onEnable();
|
|
59
113
|
this.addShadowComponent(this.rectBlock);
|
|
60
114
|
this._transformNeedsUpdate = true;
|
|
115
|
+
this.Canvas?.registerTransform(this);
|
|
61
116
|
}
|
|
62
117
|
onDisable() {
|
|
63
118
|
super.onDisable();
|
|
64
119
|
this.removeShadowComponent();
|
|
120
|
+
this.Canvas?.unregisterTransform(this);
|
|
121
|
+
}
|
|
122
|
+
onParentRectTransformChanged(comp) {
|
|
123
|
+
if (this._transformNeedsUpdate)
|
|
124
|
+
return;
|
|
125
|
+
// When the parent rect transform changes we have to to recalculate our transform
|
|
126
|
+
this.onApplyTransform(debugLayout ? `${comp.name} changed` : undefined);
|
|
65
127
|
}
|
|
66
|
-
|
|
128
|
+
get isDirty() {
|
|
129
|
+
if (!this._transformNeedsUpdate)
|
|
130
|
+
this._transformNeedsUpdate = !this.lastMatrix.equals(this.gameObject.matrix);
|
|
131
|
+
return this._transformNeedsUpdate;
|
|
132
|
+
}
|
|
133
|
+
// private _copyMatrixAfterRender: boolean = false;
|
|
134
|
+
markDirty() {
|
|
135
|
+
if (this._transformNeedsUpdate)
|
|
136
|
+
return;
|
|
137
|
+
if (debugLayout)
|
|
138
|
+
console.warn("RectTransform markDirty()", this.name);
|
|
139
|
+
this._transformNeedsUpdate = true;
|
|
140
|
+
// If mark dirty is called explictly we want to allow updating the transform again when updateTransform is called
|
|
141
|
+
// if we dont reset it here we get delayed layout updates
|
|
142
|
+
this._lastUpdateFrame = -1;
|
|
143
|
+
}
|
|
144
|
+
/** Will update the transforms if it changed or is dirty */
|
|
145
|
+
updateTransform() {
|
|
146
|
+
// TODO: instead of checking matrix again it would perhaps be better to test if position, rotation or scale have changed individually?
|
|
147
|
+
const transformChanged = this._transformNeedsUpdate || !this.lastMatrix.equals(this.gameObject.matrix); // || !this.lastMatrixWorld.equals(this.gameObject.matrixWorld);
|
|
148
|
+
if (transformChanged && this.canUpdate()) {
|
|
149
|
+
this.onApplyTransform(this._transformNeedsUpdate ? "Marked dirty" : "Matrix changed");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
_parentRectTransform;
|
|
153
|
+
_lastUpdateFrame = -1;
|
|
154
|
+
canUpdate() {
|
|
155
|
+
return this._transformNeedsUpdate && this.activeAndEnabled && this._lastUpdateFrame !== this.context.time.frame;
|
|
156
|
+
}
|
|
157
|
+
onApplyTransform(reason) {
|
|
158
|
+
// TODO: need to improve the update logic, with this UI updates have some frame delay but dont happen exponentially per hierarchy
|
|
159
|
+
if (this.context.time.frameCount === this._lastUpdateFrame)
|
|
160
|
+
return;
|
|
161
|
+
this._lastUpdateFrame = this.context.time.frameCount;
|
|
67
162
|
const uiobject = this.shadowComponent;
|
|
68
163
|
if (!uiobject)
|
|
69
164
|
return;
|
|
165
|
+
this._parentRectTransform = GameObject.getComponentInParent(this.gameObject.parent, RectTransform);
|
|
70
166
|
this._transformNeedsUpdate = false;
|
|
167
|
+
this.lastMatrix.copy(this.gameObject.matrix);
|
|
168
|
+
if (debugLayout)
|
|
169
|
+
console.warn("RectTransform → ApplyTransform", this.name + " because " + reason);
|
|
71
170
|
if (!this.isRoot()) {
|
|
72
|
-
//
|
|
73
|
-
|
|
74
|
-
uiobject.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
uiobject.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
171
|
+
// Reset temp matrix
|
|
172
|
+
uiobject.matrix.identity();
|
|
173
|
+
uiobject.matrixAutoUpdate = false;
|
|
174
|
+
// calc pivot and apply
|
|
175
|
+
tempVec.set(0, 0, 0);
|
|
176
|
+
this.applyPivot(tempVec);
|
|
177
|
+
uiobject.matrix.setPosition(tempVec.x, tempVec.y, 0);
|
|
178
|
+
// calc rotation matrix and apply (we can skip this if it's not rotated)
|
|
179
|
+
if (this.gameObject.quaternion.x || this.gameObject.quaternion.y || this.gameObject.quaternion.z) {
|
|
180
|
+
tempQuaternion.copy(this.gameObject.quaternion);
|
|
181
|
+
tempQuaternion.x *= -1;
|
|
182
|
+
tempQuaternion.z *= -1;
|
|
183
|
+
tempMatrix.makeRotationFromQuaternion(tempQuaternion);
|
|
184
|
+
uiobject.matrix.premultiply(tempMatrix);
|
|
185
|
+
}
|
|
186
|
+
// calc anchors and offset and apply
|
|
187
|
+
tempVec.set(0, 0, 0);
|
|
188
|
+
this.applyAnchoring(tempVec);
|
|
189
|
+
tempVec.z += this.offset;
|
|
190
|
+
tempVec.z -= this.gameObject.position.z;
|
|
191
|
+
tempMatrix.identity();
|
|
192
|
+
tempMatrix.setPosition(tempVec.x, tempVec.y, tempVec.z);
|
|
193
|
+
uiobject.matrix.premultiply(tempMatrix);
|
|
194
|
+
// apply scale if necessary
|
|
195
|
+
uiobject.matrix.scale(this.gameObject.scale);
|
|
84
196
|
}
|
|
85
197
|
else {
|
|
86
|
-
|
|
198
|
+
// We have to rotate the canvas when it's in worldspace
|
|
199
|
+
const canvas = this.Root;
|
|
200
|
+
if (!canvas.screenspace)
|
|
201
|
+
uiobject.rotation.y = Math.PI;
|
|
87
202
|
}
|
|
88
|
-
this
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (transformChanged) {
|
|
102
|
-
if (debug)
|
|
103
|
-
console.log("updating", this.name);
|
|
104
|
-
this.applyTransform();
|
|
203
|
+
// iterate other components on this object that might need to know about the transform change
|
|
204
|
+
// e.g. Graphic components should update their width and height
|
|
205
|
+
const includeChildren = true;
|
|
206
|
+
for (const comp of foreachComponentEnumerator(this.gameObject, BaseUIComponent, includeChildren, 1)) {
|
|
207
|
+
if (comp === this)
|
|
208
|
+
continue;
|
|
209
|
+
if (!comp.activeAndEnabled)
|
|
210
|
+
continue;
|
|
211
|
+
const callback = comp;
|
|
212
|
+
if (callback.onParentRectTransformChanged) {
|
|
213
|
+
// if (debugLayout) console.log(`RectTransform ${this.name} → call`, comp.name + "/" + comp.constructor.name)
|
|
214
|
+
callback.onParentRectTransformChanged(this);
|
|
215
|
+
}
|
|
105
216
|
}
|
|
106
|
-
//
|
|
107
|
-
EventSystem.ensureUpdateMeshUI(ThreeMeshUI, this.context);
|
|
217
|
+
// const layout = GameObject.getComponentInParent(this.gameObject, ILayoutGroup);
|
|
108
218
|
}
|
|
219
|
+
// onAfterRender() {
|
|
220
|
+
// if (this._copyMatrixAfterRender) {
|
|
221
|
+
// // can we only have this event when the transform changed in this frame? Otherwise all RectTransforms will be iterated. Not sure what is better
|
|
222
|
+
// this.lastMatrixWorld.copy(this.gameObject.matrixWorld);
|
|
223
|
+
// }
|
|
224
|
+
// }
|
|
225
|
+
/** applies the position offset to the passed in vector */
|
|
109
226
|
applyAnchoring(pos) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
pos.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
227
|
+
pos.x += this.anchoredPosition.x;
|
|
228
|
+
pos.y += this.anchoredPosition.y;
|
|
229
|
+
const parent = this._parentRectTransform;
|
|
230
|
+
if (parent) {
|
|
231
|
+
// Calculate vertical offset
|
|
232
|
+
let oy = 0;
|
|
233
|
+
const vert = 1 - this.anchorMax.y - this.anchorMin.y;
|
|
234
|
+
oy -= (parent.height * .5) * vert;
|
|
235
|
+
pos.y += oy;
|
|
236
|
+
// calculate horizontal offset
|
|
237
|
+
let ox = 0;
|
|
238
|
+
const horz = 1 - this.anchorMax.x - this.anchorMin.x;
|
|
239
|
+
ox -= (parent.width * .5) * horz;
|
|
240
|
+
pos.x += ox;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/** applies the pivot offset to the passed in vector */
|
|
244
|
+
applyPivot(vec) {
|
|
245
|
+
if (this.pivot && !this.isRoot()) {
|
|
246
|
+
const pv = this.pivot.x - .5;
|
|
247
|
+
vec.x -= pv * this.sizeDelta.x * this.gameObject.scale.x;
|
|
248
|
+
const ph = this.pivot.y - .5;
|
|
249
|
+
vec.y -= ph * this.sizeDelta.y * this.gameObject.scale.y;
|
|
124
250
|
}
|
|
125
251
|
}
|
|
126
252
|
getBasicOptions() {
|
|
253
|
+
// @TODO : instead of getBasicOptions for each component we could use once needleEngine initialized
|
|
254
|
+
// ThreeMeshUI.DefaultValues.set({
|
|
255
|
+
// backgroundOpacity: 1,
|
|
256
|
+
// borderWidth: 0, // if we dont specify width here a border will automatically propagated to child blocks
|
|
257
|
+
// borderRadius: 0,
|
|
258
|
+
// borderOpacity: 0,
|
|
259
|
+
// })
|
|
127
260
|
const opts = {
|
|
128
261
|
width: this.rect.width,
|
|
129
262
|
height: this.rect.height,
|
|
@@ -132,6 +265,7 @@ export class RectTransform extends BaseUIComponent {
|
|
|
132
265
|
borderWidth: 0,
|
|
133
266
|
borderRadius: 0,
|
|
134
267
|
borderOpacity: 0,
|
|
268
|
+
letterSpacing: -0.03,
|
|
135
269
|
// justifyContent: 'center',
|
|
136
270
|
// alignItems: 'center',
|
|
137
271
|
// alignContent: 'center',
|
|
@@ -150,6 +284,7 @@ export class RectTransform extends BaseUIComponent {
|
|
|
150
284
|
return opts;
|
|
151
285
|
}
|
|
152
286
|
_createdBlocks = [];
|
|
287
|
+
_createdTextBlocks = [];
|
|
153
288
|
createNewBlock(opts) {
|
|
154
289
|
opts = {
|
|
155
290
|
...this.getBasicOptions(),
|
|
@@ -161,17 +296,42 @@ export class RectTransform extends BaseUIComponent {
|
|
|
161
296
|
this._createdBlocks.push(block);
|
|
162
297
|
return block;
|
|
163
298
|
}
|
|
299
|
+
createNewText(opts) {
|
|
300
|
+
if (debug)
|
|
301
|
+
console.log(opts);
|
|
302
|
+
opts = {
|
|
303
|
+
...this.getBasicOptions(),
|
|
304
|
+
...opts,
|
|
305
|
+
};
|
|
306
|
+
if (debug)
|
|
307
|
+
console.log(this.name, opts);
|
|
308
|
+
const block = new ThreeMeshUI.Text(opts);
|
|
309
|
+
this._createdTextBlocks.push(block);
|
|
310
|
+
return block;
|
|
311
|
+
}
|
|
164
312
|
}
|
|
313
|
+
__decorate([
|
|
314
|
+
serializable(Vector3)
|
|
315
|
+
], RectTransform.prototype, "anchoredPosition", null);
|
|
165
316
|
__decorate([
|
|
166
317
|
serializable(Rect)
|
|
167
318
|
], RectTransform.prototype, "rect", void 0);
|
|
168
319
|
__decorate([
|
|
169
320
|
serializable(Vector2)
|
|
170
321
|
], RectTransform.prototype, "sizeDelta", void 0);
|
|
171
|
-
__decorate([
|
|
172
|
-
serializable(Vector3)
|
|
173
|
-
], RectTransform.prototype, "anchoredPosition3D", void 0);
|
|
174
322
|
__decorate([
|
|
175
323
|
serializable(Vector2)
|
|
176
324
|
], RectTransform.prototype, "pivot", void 0);
|
|
325
|
+
__decorate([
|
|
326
|
+
serializable(Vector2)
|
|
327
|
+
], RectTransform.prototype, "anchorMin", void 0);
|
|
328
|
+
__decorate([
|
|
329
|
+
serializable(Vector2)
|
|
330
|
+
], RectTransform.prototype, "anchorMax", void 0);
|
|
331
|
+
__decorate([
|
|
332
|
+
serializable(Vector2)
|
|
333
|
+
], RectTransform.prototype, "offsetMin", void 0);
|
|
334
|
+
__decorate([
|
|
335
|
+
serializable(Vector2)
|
|
336
|
+
], RectTransform.prototype, "offsetMax", void 0);
|
|
177
337
|
//# sourceMappingURL=RectTransform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RectTransform.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RectTransform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RectTransform.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RectTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 {};
|