@dcl/ecs 7.22.1 → 7.22.2-23601767788.commit-ff97f2f
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/components/extended/AudioAnalysis.d.ts +55 -0
- package/dist/components/extended/AudioAnalysis.js +66 -0
- package/dist/components/generated/AudioAnalysis.gen.d.ts +1 -0
- package/dist/components/generated/AudioAnalysis.gen.js +25 -0
- package/dist/components/generated/AvatarLocomotionSettings.gen.d.ts +1 -0
- package/dist/components/generated/AvatarLocomotionSettings.gen.js +25 -0
- package/dist/components/generated/component-names.gen.js +2 -0
- package/dist/components/generated/global.gen.d.ts +4 -0
- package/dist/components/generated/global.gen.js +2 -0
- package/dist/components/generated/index.gen.d.ts +8 -0
- package/dist/components/generated/index.gen.js +10 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +161 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +35 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +123 -0
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +12 -2
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +11 -0
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +5 -1
- package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +20 -1
- package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +3 -0
- package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +10 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +3 -0
- package/dist/components/types.d.ts +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/systems/events.d.ts +65 -0
- package/dist/systems/events.js +70 -8
- package/dist-cjs/components/extended/AudioAnalysis.d.ts +55 -0
- package/dist-cjs/components/extended/AudioAnalysis.js +70 -0
- package/dist-cjs/components/generated/AudioAnalysis.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AudioAnalysis.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.js +2 -0
- package/dist-cjs/components/generated/global.gen.d.ts +4 -0
- package/dist-cjs/components/generated/global.gen.js +4 -1
- package/dist-cjs/components/generated/index.gen.d.ts +8 -0
- package/dist-cjs/components/generated/index.gen.js +14 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +37 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +167 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +35 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +129 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +12 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +12 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +5 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +20 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +3 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +10 -1
- package/dist-cjs/components/index.d.ts +4 -0
- package/dist-cjs/components/index.js +5 -1
- package/dist-cjs/components/types.d.ts +1 -0
- package/dist-cjs/index.d.ts +2 -1
- package/dist-cjs/index.js +2 -1
- package/dist-cjs/systems/events.d.ts +65 -0
- package/dist-cjs/systems/events.js +70 -8
- package/package.json +2 -2
package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import _m0 from "protobufjs/minimal";
|
|
3
|
+
const protobufPackageSarasa = "decentraland.sdk.components";
|
|
4
|
+
function createBasePBAvatarLocomotionSettings() {
|
|
5
|
+
return {
|
|
6
|
+
walkSpeed: undefined,
|
|
7
|
+
jogSpeed: undefined,
|
|
8
|
+
runSpeed: undefined,
|
|
9
|
+
jumpHeight: undefined,
|
|
10
|
+
runJumpHeight: undefined,
|
|
11
|
+
hardLandingCooldown: undefined,
|
|
12
|
+
doubleJumpHeight: undefined,
|
|
13
|
+
glidingSpeed: undefined,
|
|
14
|
+
glidingFallingSpeed: undefined,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export var PBAvatarLocomotionSettings;
|
|
21
|
+
(function (PBAvatarLocomotionSettings) {
|
|
22
|
+
function encode(message, writer = _m0.Writer.create()) {
|
|
23
|
+
if (message.walkSpeed !== undefined) {
|
|
24
|
+
writer.uint32(13).float(message.walkSpeed);
|
|
25
|
+
}
|
|
26
|
+
if (message.jogSpeed !== undefined) {
|
|
27
|
+
writer.uint32(21).float(message.jogSpeed);
|
|
28
|
+
}
|
|
29
|
+
if (message.runSpeed !== undefined) {
|
|
30
|
+
writer.uint32(29).float(message.runSpeed);
|
|
31
|
+
}
|
|
32
|
+
if (message.jumpHeight !== undefined) {
|
|
33
|
+
writer.uint32(37).float(message.jumpHeight);
|
|
34
|
+
}
|
|
35
|
+
if (message.runJumpHeight !== undefined) {
|
|
36
|
+
writer.uint32(45).float(message.runJumpHeight);
|
|
37
|
+
}
|
|
38
|
+
if (message.hardLandingCooldown !== undefined) {
|
|
39
|
+
writer.uint32(53).float(message.hardLandingCooldown);
|
|
40
|
+
}
|
|
41
|
+
if (message.doubleJumpHeight !== undefined) {
|
|
42
|
+
writer.uint32(61).float(message.doubleJumpHeight);
|
|
43
|
+
}
|
|
44
|
+
if (message.glidingSpeed !== undefined) {
|
|
45
|
+
writer.uint32(69).float(message.glidingSpeed);
|
|
46
|
+
}
|
|
47
|
+
if (message.glidingFallingSpeed !== undefined) {
|
|
48
|
+
writer.uint32(77).float(message.glidingFallingSpeed);
|
|
49
|
+
}
|
|
50
|
+
return writer;
|
|
51
|
+
}
|
|
52
|
+
PBAvatarLocomotionSettings.encode = encode;
|
|
53
|
+
function decode(input, length) {
|
|
54
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
55
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
56
|
+
const message = createBasePBAvatarLocomotionSettings();
|
|
57
|
+
while (reader.pos < end) {
|
|
58
|
+
const tag = reader.uint32();
|
|
59
|
+
switch (tag >>> 3) {
|
|
60
|
+
case 1:
|
|
61
|
+
if (tag !== 13) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
message.walkSpeed = reader.float();
|
|
65
|
+
continue;
|
|
66
|
+
case 2:
|
|
67
|
+
if (tag !== 21) {
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
message.jogSpeed = reader.float();
|
|
71
|
+
continue;
|
|
72
|
+
case 3:
|
|
73
|
+
if (tag !== 29) {
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
message.runSpeed = reader.float();
|
|
77
|
+
continue;
|
|
78
|
+
case 4:
|
|
79
|
+
if (tag !== 37) {
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
message.jumpHeight = reader.float();
|
|
83
|
+
continue;
|
|
84
|
+
case 5:
|
|
85
|
+
if (tag !== 45) {
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
message.runJumpHeight = reader.float();
|
|
89
|
+
continue;
|
|
90
|
+
case 6:
|
|
91
|
+
if (tag !== 53) {
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
message.hardLandingCooldown = reader.float();
|
|
95
|
+
continue;
|
|
96
|
+
case 7:
|
|
97
|
+
if (tag !== 61) {
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
message.doubleJumpHeight = reader.float();
|
|
101
|
+
continue;
|
|
102
|
+
case 8:
|
|
103
|
+
if (tag !== 69) {
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
message.glidingSpeed = reader.float();
|
|
107
|
+
continue;
|
|
108
|
+
case 9:
|
|
109
|
+
if (tag !== 77) {
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
message.glidingFallingSpeed = reader.float();
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
reader.skipType(tag & 7);
|
|
119
|
+
}
|
|
120
|
+
return message;
|
|
121
|
+
}
|
|
122
|
+
PBAvatarLocomotionSettings.decode = decode;
|
|
123
|
+
})(PBAvatarLocomotionSettings || (PBAvatarLocomotionSettings = {}));
|
package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts
CHANGED
|
@@ -15,7 +15,8 @@ export declare const enum InputAction {
|
|
|
15
15
|
IA_ACTION_3 = 10,
|
|
16
16
|
IA_ACTION_4 = 11,
|
|
17
17
|
IA_ACTION_5 = 12,
|
|
18
|
-
IA_ACTION_6 = 13
|
|
18
|
+
IA_ACTION_6 = 13,
|
|
19
|
+
IA_MODIFIER = 14
|
|
19
20
|
}
|
|
20
21
|
/** PointerEventType is a kind of interaction that can be detected. */
|
|
21
22
|
/**
|
|
@@ -25,5 +26,14 @@ export declare const enum PointerEventType {
|
|
|
25
26
|
PET_UP = 0,
|
|
26
27
|
PET_DOWN = 1,
|
|
27
28
|
PET_HOVER_ENTER = 2,
|
|
28
|
-
PET_HOVER_LEAVE = 3
|
|
29
|
+
PET_HOVER_LEAVE = 3,
|
|
30
|
+
PET_PROXIMITY_ENTER = 4,
|
|
31
|
+
PET_PROXIMITY_LEAVE = 5
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare const enum InteractionType {
|
|
37
|
+
CURSOR = 0,
|
|
38
|
+
PROXIMITY = 1
|
|
29
39
|
}
|
|
@@ -19,6 +19,7 @@ export var InputAction;
|
|
|
19
19
|
InputAction[InputAction["IA_ACTION_4"] = 11] = "IA_ACTION_4";
|
|
20
20
|
InputAction[InputAction["IA_ACTION_5"] = 12] = "IA_ACTION_5";
|
|
21
21
|
InputAction[InputAction["IA_ACTION_6"] = 13] = "IA_ACTION_6";
|
|
22
|
+
InputAction[InputAction["IA_MODIFIER"] = 14] = "IA_MODIFIER";
|
|
22
23
|
})(InputAction || (InputAction = {}));
|
|
23
24
|
/** PointerEventType is a kind of interaction that can be detected. */
|
|
24
25
|
/**
|
|
@@ -30,4 +31,14 @@ export var PointerEventType;
|
|
|
30
31
|
PointerEventType[PointerEventType["PET_DOWN"] = 1] = "PET_DOWN";
|
|
31
32
|
PointerEventType[PointerEventType["PET_HOVER_ENTER"] = 2] = "PET_HOVER_ENTER";
|
|
32
33
|
PointerEventType[PointerEventType["PET_HOVER_LEAVE"] = 3] = "PET_HOVER_LEAVE";
|
|
34
|
+
PointerEventType[PointerEventType["PET_PROXIMITY_ENTER"] = 4] = "PET_PROXIMITY_ENTER";
|
|
35
|
+
PointerEventType[PointerEventType["PET_PROXIMITY_LEAVE"] = 5] = "PET_PROXIMITY_LEAVE";
|
|
33
36
|
})(PointerEventType || (PointerEventType = {}));
|
|
37
|
+
/**
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export var InteractionType;
|
|
41
|
+
(function (InteractionType) {
|
|
42
|
+
InteractionType[InteractionType["CURSOR"] = 0] = "CURSOR";
|
|
43
|
+
InteractionType[InteractionType["PROXIMITY"] = 1] = "PROXIMITY";
|
|
44
|
+
})(InteractionType || (InteractionType = {}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _m0 from "protobufjs/minimal";
|
|
2
|
-
import { InputAction, PointerEventType } from "./common/input_action.gen";
|
|
2
|
+
import { InputAction, InteractionType, PointerEventType } from "./common/input_action.gen";
|
|
3
3
|
/**
|
|
4
4
|
* PointerEvents adds configurable pointer-based interactions to the attached Entity.
|
|
5
5
|
*
|
|
@@ -61,6 +61,8 @@ export interface PBPointerEvents_Info {
|
|
|
61
61
|
showHighlight?: boolean | undefined;
|
|
62
62
|
/** range of interaction from the avatar's position (default 0) */
|
|
63
63
|
maxPlayerDistance?: number | undefined;
|
|
64
|
+
/** resolution order when multiple events overlap, higher wins (default 0) */
|
|
65
|
+
priority?: number | undefined;
|
|
64
66
|
}
|
|
65
67
|
/**
|
|
66
68
|
* @public
|
|
@@ -70,6 +72,8 @@ export interface PBPointerEvents_Entry {
|
|
|
70
72
|
eventType: PointerEventType;
|
|
71
73
|
/** additional configuration for this detection */
|
|
72
74
|
eventInfo: PBPointerEvents_Info | undefined;
|
|
75
|
+
/** the type of interaction source (default 0 == CURSOR) */
|
|
76
|
+
interactionType?: InteractionType | undefined;
|
|
73
77
|
}
|
|
74
78
|
/**
|
|
75
79
|
* @public
|
|
@@ -47,6 +47,7 @@ function createBasePBPointerEvents_Info() {
|
|
|
47
47
|
showFeedback: undefined,
|
|
48
48
|
showHighlight: undefined,
|
|
49
49
|
maxPlayerDistance: undefined,
|
|
50
|
+
priority: undefined,
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
@@ -73,6 +74,9 @@ export var PBPointerEvents_Info;
|
|
|
73
74
|
if (message.maxPlayerDistance !== undefined) {
|
|
74
75
|
writer.uint32(53).float(message.maxPlayerDistance);
|
|
75
76
|
}
|
|
77
|
+
if (message.priority !== undefined) {
|
|
78
|
+
writer.uint32(56).uint32(message.priority);
|
|
79
|
+
}
|
|
76
80
|
return writer;
|
|
77
81
|
}
|
|
78
82
|
PBPointerEvents_Info.encode = encode;
|
|
@@ -119,6 +123,12 @@ export var PBPointerEvents_Info;
|
|
|
119
123
|
}
|
|
120
124
|
message.maxPlayerDistance = reader.float();
|
|
121
125
|
continue;
|
|
126
|
+
case 7:
|
|
127
|
+
if (tag !== 56) {
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
message.priority = reader.uint32();
|
|
131
|
+
continue;
|
|
122
132
|
}
|
|
123
133
|
if ((tag & 7) === 4 || tag === 0) {
|
|
124
134
|
break;
|
|
@@ -130,7 +140,7 @@ export var PBPointerEvents_Info;
|
|
|
130
140
|
PBPointerEvents_Info.decode = decode;
|
|
131
141
|
})(PBPointerEvents_Info || (PBPointerEvents_Info = {}));
|
|
132
142
|
function createBasePBPointerEvents_Entry() {
|
|
133
|
-
return { eventType: 0, eventInfo: undefined };
|
|
143
|
+
return { eventType: 0, eventInfo: undefined, interactionType: undefined };
|
|
134
144
|
}
|
|
135
145
|
/**
|
|
136
146
|
* @public
|
|
@@ -144,6 +154,9 @@ export var PBPointerEvents_Entry;
|
|
|
144
154
|
if (message.eventInfo !== undefined) {
|
|
145
155
|
PBPointerEvents_Info.encode(message.eventInfo, writer.uint32(18).fork()).ldelim();
|
|
146
156
|
}
|
|
157
|
+
if (message.interactionType !== undefined) {
|
|
158
|
+
writer.uint32(24).int32(message.interactionType);
|
|
159
|
+
}
|
|
147
160
|
return writer;
|
|
148
161
|
}
|
|
149
162
|
PBPointerEvents_Entry.encode = encode;
|
|
@@ -166,6 +179,12 @@ export var PBPointerEvents_Entry;
|
|
|
166
179
|
}
|
|
167
180
|
message.eventInfo = PBPointerEvents_Info.decode(reader, reader.uint32());
|
|
168
181
|
continue;
|
|
182
|
+
case 3:
|
|
183
|
+
if (tag !== 24) {
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
message.interactionType = reader.int32();
|
|
187
|
+
continue;
|
|
169
188
|
}
|
|
170
189
|
if ((tag & 7) === 4 || tag === 0) {
|
|
171
190
|
break;
|
|
@@ -6,6 +6,7 @@ import { CameraTransition } from "./common/camera_transition.gen";
|
|
|
6
6
|
* an 'instant' transition (like using speed/time = 0)
|
|
7
7
|
* * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
|
|
8
8
|
* the holding entity transform).
|
|
9
|
+
* * The fov defines the Field of View of the virtual camera
|
|
9
10
|
*/
|
|
10
11
|
/**
|
|
11
12
|
* @public
|
|
@@ -13,6 +14,8 @@ import { CameraTransition } from "./common/camera_transition.gen";
|
|
|
13
14
|
export interface PBVirtualCamera {
|
|
14
15
|
defaultTransition?: CameraTransition | undefined;
|
|
15
16
|
lookAtEntity?: number | undefined;
|
|
17
|
+
/** default: 60 */
|
|
18
|
+
fov?: number | undefined;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* @public
|
|
@@ -3,7 +3,7 @@ import _m0 from "protobufjs/minimal";
|
|
|
3
3
|
import { CameraTransition } from "./common/camera_transition.gen";
|
|
4
4
|
const protobufPackageSarasa = "decentraland.sdk.components";
|
|
5
5
|
function createBasePBVirtualCamera() {
|
|
6
|
-
return { defaultTransition: undefined, lookAtEntity: undefined };
|
|
6
|
+
return { defaultTransition: undefined, lookAtEntity: undefined, fov: undefined };
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* @public
|
|
@@ -17,6 +17,9 @@ export var PBVirtualCamera;
|
|
|
17
17
|
if (message.lookAtEntity !== undefined) {
|
|
18
18
|
writer.uint32(16).uint32(message.lookAtEntity);
|
|
19
19
|
}
|
|
20
|
+
if (message.fov !== undefined) {
|
|
21
|
+
writer.uint32(29).float(message.fov);
|
|
22
|
+
}
|
|
20
23
|
return writer;
|
|
21
24
|
}
|
|
22
25
|
PBVirtualCamera.encode = encode;
|
|
@@ -39,6 +42,12 @@ export var PBVirtualCamera;
|
|
|
39
42
|
}
|
|
40
43
|
message.lookAtEntity = reader.uint32();
|
|
41
44
|
continue;
|
|
45
|
+
case 3:
|
|
46
|
+
if (tag !== 29) {
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
message.fov = reader.float();
|
|
50
|
+
continue;
|
|
42
51
|
}
|
|
43
52
|
if ((tag & 7) === 4 || tag === 0) {
|
|
44
53
|
break;
|
|
@@ -2,6 +2,8 @@ import { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDef
|
|
|
2
2
|
import { IEngine } from '../engine/types';
|
|
3
3
|
import { AnimatorComponentDefinitionExtended } from './extended/Animator';
|
|
4
4
|
import { AudioSourceComponentDefinitionExtended } from './extended/AudioSource';
|
|
5
|
+
import { AudioAnalysisComponentDefinitionExtended } from './extended/AudioAnalysis';
|
|
6
|
+
import type { AudioAnalysisView } from './extended/AudioAnalysis';
|
|
5
7
|
import { MaterialComponentDefinitionExtended } from './extended/Material';
|
|
6
8
|
import { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
|
|
7
9
|
import { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
|
|
@@ -25,6 +27,7 @@ export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
|
|
|
25
27
|
export declare const Material: LwwComponentGetter<MaterialComponentDefinitionExtended>;
|
|
26
28
|
export declare const Animator: LwwComponentGetter<AnimatorComponentDefinitionExtended>;
|
|
27
29
|
export declare const AudioSource: LwwComponentGetter<AudioSourceComponentDefinitionExtended>;
|
|
30
|
+
export declare const AudioAnalysis: LwwComponentGetter<AudioAnalysisComponentDefinitionExtended>;
|
|
28
31
|
export declare const AudioStream: (engine: Pick<IEngine, 'defineComponentFromSchema' | 'defineValueSetComponentFromSchema'>) => AudioStreamComponentDefinitionExtended;
|
|
29
32
|
export declare const MeshRenderer: LwwComponentGetter<MeshRendererComponentDefinitionExtended>;
|
|
30
33
|
export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefinitionExtended>;
|
|
@@ -51,3 +54,4 @@ export declare const NetworkEntity: (engine: Pick<IEngine, 'defineComponent'>) =
|
|
|
51
54
|
*/
|
|
52
55
|
export declare const NetworkParent: (engine: Pick<IEngine, 'defineComponent'>) => LastWriteWinElementSetComponentDefinition<INetowrkParentType>;
|
|
53
56
|
export { MediaState };
|
|
57
|
+
export type { AudioAnalysisView };
|
package/dist/components/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineAnimatorComponent } from './extended/Animator';
|
|
2
2
|
import { defineAudioSourceComponent } from './extended/AudioSource';
|
|
3
|
+
import { defineAudioAnalysisComponent } from './extended/AudioAnalysis';
|
|
3
4
|
import { defineMaterialComponent } from './extended/Material';
|
|
4
5
|
import { defineMeshColliderComponent } from './extended/MeshCollider';
|
|
5
6
|
import { defineMeshRendererComponent } from './extended/MeshRenderer';
|
|
@@ -26,6 +27,8 @@ export const Animator = (engine) => defineAnimatorComponent(engine);
|
|
|
26
27
|
/* @__PURE__ */
|
|
27
28
|
export const AudioSource = (engine) => defineAudioSourceComponent(engine);
|
|
28
29
|
/* @__PURE__ */
|
|
30
|
+
export const AudioAnalysis = (engine) => defineAudioAnalysisComponent(engine);
|
|
31
|
+
/* @__PURE__ */
|
|
29
32
|
export const AudioStream = (engine) => defineAudioStreamComponent(engine);
|
|
30
33
|
/* @__PURE__ */
|
|
31
34
|
export const MeshRenderer = (engine) => defineMeshRendererComponent(engine);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { AnimatorComponentDefinitionExtended } from './extended/Animator';
|
|
2
2
|
export type { AudioSourceComponentDefinitionExtended } from './extended/AudioSource';
|
|
3
|
+
export type { AudioAnalysisComponentDefinitionExtended, AudioAnalysisView } from './extended/AudioAnalysis';
|
|
3
4
|
export type { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
|
|
4
5
|
export type { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
|
|
5
6
|
export type { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
|
package/dist/index.d.ts
CHANGED
|
@@ -15,12 +15,13 @@ export * from './systems/triggerArea';
|
|
|
15
15
|
export * from './systems/physics';
|
|
16
16
|
export * from './engine/entity';
|
|
17
17
|
export * from './components/types';
|
|
18
|
-
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
|
|
18
|
+
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioAnalysisComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
|
|
19
19
|
import { NameComponent } from './components/manual/Name';
|
|
20
20
|
import { TagsComponentDefinitionExtended } from './components/manual/Tags';
|
|
21
21
|
export declare const Transform: TransformComponentExtended;
|
|
22
22
|
export declare const Animator: AnimatorComponentDefinitionExtended;
|
|
23
23
|
export declare const AudioSource: AudioSourceComponentDefinitionExtended;
|
|
24
|
+
export declare const AudioAnalysis: AudioAnalysisComponentDefinitionExtended;
|
|
24
25
|
export declare const AudioStream: AudioStreamComponentDefinitionExtended;
|
|
25
26
|
export declare const Material: MaterialComponentDefinitionExtended;
|
|
26
27
|
export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
|
package/dist/index.js
CHANGED
|
@@ -25,6 +25,7 @@ import { engine } from './runtime/initialization';
|
|
|
25
25
|
export const Transform = /* @__PURE__*/ components.Transform(engine);
|
|
26
26
|
export const Animator = /* @__PURE__*/ components.Animator(engine);
|
|
27
27
|
export const AudioSource = /* @__PURE__*/ components.AudioSource(engine);
|
|
28
|
+
export const AudioAnalysis = /* @__PURE__*/ components.AudioAnalysis(engine);
|
|
28
29
|
export const AudioStream = /* @__PURE__*/ components.AudioStream(engine);
|
|
29
30
|
export const Material = /* @__PURE__*/ components.Material(engine);
|
|
30
31
|
export const MeshRenderer = /* @__PURE__*/ components.MeshRenderer(engine);
|
package/dist/systems/events.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export type EventSystemOptions = {
|
|
|
17
17
|
showFeedback?: boolean;
|
|
18
18
|
showHighlight?: boolean;
|
|
19
19
|
maxPlayerDistance?: number;
|
|
20
|
+
priority?: number;
|
|
20
21
|
};
|
|
21
22
|
export declare const getDefaultOpts: (opts?: Partial<EventSystemOptions>) => EventSystemOptions;
|
|
22
23
|
/**
|
|
@@ -47,6 +48,30 @@ export interface PointerEventsSystem {
|
|
|
47
48
|
* @param entity - Entity where the callback was attached
|
|
48
49
|
*/
|
|
49
50
|
removeOnPointerHoverLeave(entity: Entity): void;
|
|
51
|
+
/**
|
|
52
|
+
* @public
|
|
53
|
+
* Remove the callback for onProximityDown event
|
|
54
|
+
* @param entity - Entity where the callback was attached
|
|
55
|
+
*/
|
|
56
|
+
removeOnProximityDown(entity: Entity): void;
|
|
57
|
+
/**
|
|
58
|
+
* @public
|
|
59
|
+
* Remove the callback for onProximityUp event
|
|
60
|
+
* @param entity - Entity where the callback was attached
|
|
61
|
+
*/
|
|
62
|
+
removeOnProximityUp(entity: Entity): void;
|
|
63
|
+
/**
|
|
64
|
+
* @public
|
|
65
|
+
* Remove the callback for onProximityEnter event
|
|
66
|
+
* @param entity - Entity where the callback was attached
|
|
67
|
+
*/
|
|
68
|
+
removeOnProximityEnter(entity: Entity): void;
|
|
69
|
+
/**
|
|
70
|
+
* @public
|
|
71
|
+
* Remove the callback for onProximityLeave event
|
|
72
|
+
* @param entity - Entity where the callback was attached
|
|
73
|
+
*/
|
|
74
|
+
removeOnProximityLeave(entity: Entity): void;
|
|
50
75
|
/**
|
|
51
76
|
* @public
|
|
52
77
|
* Execute callback when the user press the InputButton pointing at the entity
|
|
@@ -101,6 +126,46 @@ export interface PointerEventsSystem {
|
|
|
101
126
|
entity: Entity;
|
|
102
127
|
opts?: Partial<EventSystemOptions>;
|
|
103
128
|
}, cb: EventSystemCallback): void;
|
|
129
|
+
/**
|
|
130
|
+
* @public
|
|
131
|
+
* Execute callback when the user presses the proximity button on the entity
|
|
132
|
+
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
133
|
+
* @param cb - Function to execute when click fires
|
|
134
|
+
*/
|
|
135
|
+
onProximityDown(pointerData: {
|
|
136
|
+
entity: Entity;
|
|
137
|
+
opts?: Partial<EventSystemOptions>;
|
|
138
|
+
}, cb: EventSystemCallback): void;
|
|
139
|
+
/**
|
|
140
|
+
* @public
|
|
141
|
+
* Execute callback when the user releases the proximity button on the entity
|
|
142
|
+
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
143
|
+
* @param cb - Function to execute when event fires
|
|
144
|
+
*/
|
|
145
|
+
onProximityUp(pointerData: {
|
|
146
|
+
entity: Entity;
|
|
147
|
+
opts?: Partial<EventSystemOptions>;
|
|
148
|
+
}, cb: EventSystemCallback): void;
|
|
149
|
+
/**
|
|
150
|
+
* @public
|
|
151
|
+
* Execute callback when the entity enters the proximity zone of the user
|
|
152
|
+
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
153
|
+
* @param cb - Function to execute when event fires
|
|
154
|
+
*/
|
|
155
|
+
onProximityEnter(pointerData: {
|
|
156
|
+
entity: Entity;
|
|
157
|
+
opts?: Partial<EventSystemOptions>;
|
|
158
|
+
}, cb: EventSystemCallback): void;
|
|
159
|
+
/**
|
|
160
|
+
* @public
|
|
161
|
+
* Execute callback when the entity leaves the proximity zone of the user
|
|
162
|
+
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
163
|
+
* @param cb - Function to execute when event fires
|
|
164
|
+
*/
|
|
165
|
+
onProximityLeave(pointerData: {
|
|
166
|
+
entity: Entity;
|
|
167
|
+
opts?: Partial<EventSystemOptions>;
|
|
168
|
+
}, cb: EventSystemCallback): void;
|
|
104
169
|
}
|
|
105
170
|
/**
|
|
106
171
|
* @public
|
package/dist/systems/events.js
CHANGED
|
@@ -18,12 +18,14 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
18
18
|
EventType[EventType["Up"] = 2] = "Up";
|
|
19
19
|
EventType[EventType["HoverEnter"] = 3] = "HoverEnter";
|
|
20
20
|
EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
|
|
21
|
+
EventType[EventType["ProximityEnter"] = 5] = "ProximityEnter";
|
|
22
|
+
EventType[EventType["ProximityLeave"] = 6] = "ProximityLeave";
|
|
21
23
|
})(EventType || (EventType = {}));
|
|
22
24
|
const eventsMap = new Map();
|
|
23
25
|
function getEvent(entity) {
|
|
24
26
|
return eventsMap.get(entity) || eventsMap.set(entity, new Map()).get(entity);
|
|
25
27
|
}
|
|
26
|
-
function setPointerEvent(entity, type, opts) {
|
|
28
|
+
function setPointerEvent(entity, type, opts, interactionType = 0 /* InteractionType.CURSOR */) {
|
|
27
29
|
const pointerEvent = PointerEvents.getMutableOrNull(entity) || PointerEvents.create(entity);
|
|
28
30
|
pointerEvent.pointerEvents.push({
|
|
29
31
|
eventType: type,
|
|
@@ -33,15 +35,19 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
33
35
|
showHighlight: opts.showHighlight,
|
|
34
36
|
hoverText: opts.hoverText,
|
|
35
37
|
maxDistance: opts.maxDistance,
|
|
36
|
-
maxPlayerDistance: opts.maxPlayerDistance
|
|
37
|
-
|
|
38
|
+
maxPlayerDistance: opts.maxPlayerDistance,
|
|
39
|
+
priority: opts.priority
|
|
40
|
+
},
|
|
41
|
+
interactionType: interactionType ?? 0 /* InteractionType.CURSOR */
|
|
38
42
|
});
|
|
39
43
|
}
|
|
40
|
-
function removePointerEvent(entity, type, button) {
|
|
44
|
+
function removePointerEvent(entity, type, button, interactionType = 0 /* InteractionType.CURSOR */) {
|
|
41
45
|
const pointerEvent = PointerEvents.getMutableOrNull(entity);
|
|
42
46
|
if (!pointerEvent)
|
|
43
47
|
return;
|
|
44
|
-
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button &&
|
|
48
|
+
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button &&
|
|
49
|
+
pointer.eventType === type &&
|
|
50
|
+
pointer.interactionType === interactionType));
|
|
45
51
|
}
|
|
46
52
|
function getPointerEvent(eventType) {
|
|
47
53
|
if (eventType === EventType.Up) {
|
|
@@ -53,9 +59,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
53
59
|
else if (eventType === EventType.HoverEnter) {
|
|
54
60
|
return 2 /* PointerEventType.PET_HOVER_ENTER */;
|
|
55
61
|
}
|
|
62
|
+
else if (eventType === EventType.ProximityEnter) {
|
|
63
|
+
return 4 /* PointerEventType.PET_PROXIMITY_ENTER */;
|
|
64
|
+
}
|
|
65
|
+
else if (eventType === EventType.ProximityLeave) {
|
|
66
|
+
return 5 /* PointerEventType.PET_PROXIMITY_LEAVE */;
|
|
67
|
+
}
|
|
56
68
|
return 1 /* PointerEventType.PET_DOWN */;
|
|
57
69
|
}
|
|
58
|
-
function removeEvent(entity, type) {
|
|
70
|
+
function removeEvent(entity, type, interactionType = 0 /* InteractionType.CURSOR */) {
|
|
59
71
|
const event = getEvent(entity);
|
|
60
72
|
const pointerEvent = event.get(type);
|
|
61
73
|
if (pointerEvent?.opts.hoverText) {
|
|
@@ -78,7 +90,9 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
78
90
|
if (eventType === EventType.Down ||
|
|
79
91
|
eventType === EventType.Up ||
|
|
80
92
|
eventType === EventType.HoverEnter ||
|
|
81
|
-
eventType === EventType.HoverLeave
|
|
93
|
+
eventType === EventType.HoverLeave ||
|
|
94
|
+
eventType === EventType.ProximityEnter ||
|
|
95
|
+
eventType === EventType.ProximityLeave) {
|
|
82
96
|
const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
|
|
83
97
|
if (command) {
|
|
84
98
|
checkNotThenable(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
@@ -125,6 +139,38 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
125
139
|
getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
|
|
126
140
|
setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
|
|
127
141
|
};
|
|
142
|
+
const onProximityDown = (...args) => {
|
|
143
|
+
const [data, cb] = args;
|
|
144
|
+
const { entity, opts } = data;
|
|
145
|
+
const options = getDefaultOpts(opts);
|
|
146
|
+
removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
|
|
147
|
+
getEvent(entity).set(EventType.Down, { cb, opts: options });
|
|
148
|
+
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options, 1 /* InteractionType.PROXIMITY */);
|
|
149
|
+
};
|
|
150
|
+
const onProximityUp = (...args) => {
|
|
151
|
+
const [data, cb] = args;
|
|
152
|
+
const { entity, opts } = data;
|
|
153
|
+
const options = getDefaultOpts(opts);
|
|
154
|
+
removeEvent(entity, EventType.Up, 1 /* InteractionType.PROXIMITY */);
|
|
155
|
+
getEvent(entity).set(EventType.Up, { cb, opts: options });
|
|
156
|
+
setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options, 1 /* InteractionType.PROXIMITY */);
|
|
157
|
+
};
|
|
158
|
+
const onProximityEnter = (...args) => {
|
|
159
|
+
const [data, cb] = args;
|
|
160
|
+
const { entity, opts } = data;
|
|
161
|
+
const options = getDefaultOpts(opts);
|
|
162
|
+
removeEvent(entity, EventType.ProximityEnter, 1 /* InteractionType.PROXIMITY */);
|
|
163
|
+
getEvent(entity).set(EventType.ProximityEnter, { cb, opts: options });
|
|
164
|
+
setPointerEvent(entity, 4 /* PointerEventType.PET_PROXIMITY_ENTER */, options, 1 /* InteractionType.PROXIMITY */);
|
|
165
|
+
};
|
|
166
|
+
const onProximityLeave = (...args) => {
|
|
167
|
+
const [data, cb] = args;
|
|
168
|
+
const { entity, opts } = data;
|
|
169
|
+
const options = getDefaultOpts(opts);
|
|
170
|
+
removeEvent(entity, EventType.ProximityLeave, 1 /* InteractionType.PROXIMITY */);
|
|
171
|
+
getEvent(entity).set(EventType.ProximityLeave, { cb, opts: options });
|
|
172
|
+
setPointerEvent(entity, 5 /* PointerEventType.PET_PROXIMITY_LEAVE */, options, 1 /* InteractionType.PROXIMITY */);
|
|
173
|
+
};
|
|
128
174
|
return {
|
|
129
175
|
removeOnClick(entity) {
|
|
130
176
|
removeEvent(entity, EventType.Click);
|
|
@@ -141,6 +187,18 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
141
187
|
removeOnPointerHoverLeave(entity) {
|
|
142
188
|
removeEvent(entity, EventType.HoverLeave);
|
|
143
189
|
},
|
|
190
|
+
removeOnProximityDown(entity) {
|
|
191
|
+
removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
|
|
192
|
+
},
|
|
193
|
+
removeOnProximityUp(entity) {
|
|
194
|
+
removeEvent(entity, EventType.Up, 1 /* InteractionType.PROXIMITY */);
|
|
195
|
+
},
|
|
196
|
+
removeOnProximityEnter(entity) {
|
|
197
|
+
removeEvent(entity, EventType.ProximityEnter, 1 /* InteractionType.PROXIMITY */);
|
|
198
|
+
},
|
|
199
|
+
removeOnProximityLeave(entity) {
|
|
200
|
+
removeEvent(entity, EventType.ProximityLeave, 1 /* InteractionType.PROXIMITY */);
|
|
201
|
+
},
|
|
144
202
|
onClick(value, cb) {
|
|
145
203
|
const { entity } = value;
|
|
146
204
|
const options = getDefaultOpts(value.opts);
|
|
@@ -153,6 +211,10 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
153
211
|
onPointerDown,
|
|
154
212
|
onPointerUp,
|
|
155
213
|
onPointerHoverEnter,
|
|
156
|
-
onPointerHoverLeave
|
|
214
|
+
onPointerHoverLeave,
|
|
215
|
+
onProximityDown,
|
|
216
|
+
onProximityUp,
|
|
217
|
+
onProximityEnter,
|
|
218
|
+
onProximityLeave
|
|
157
219
|
};
|
|
158
220
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Entity, IEngine } from '../../engine';
|
|
2
|
+
import { LastWriteWinElementSetComponentDefinition } from '../../engine/component';
|
|
3
|
+
import { PBAudioAnalysis, PBAudioAnalysisMode } from '../generated/pb/decentraland/sdk/components/audio_analysis.gen';
|
|
4
|
+
export interface AudioAnalysisComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBAudioAnalysis> {
|
|
5
|
+
/**
|
|
6
|
+
* Reads the component data of `entity` into the provided `out` view.
|
|
7
|
+
*
|
|
8
|
+
* @throws Error if the entity does not have an AudioAnalysis component.
|
|
9
|
+
* @param entity - The entity whose AudioAnalysis data will be read.
|
|
10
|
+
* @param out - An existing AudioAnalysisView to populate with the latest values.
|
|
11
|
+
*/
|
|
12
|
+
readIntoView(entity: Entity, out: AudioAnalysisView): void;
|
|
13
|
+
/**
|
|
14
|
+
* Attempts to read the component data of `entity` into the provided `out` view.
|
|
15
|
+
*
|
|
16
|
+
* @returns `true` if the component exists and data was written into `out`,
|
|
17
|
+
* `false` if the entity does not have an AudioAnalysis component.
|
|
18
|
+
* @param entity - The entity whose AudioAnalysis data will be read.
|
|
19
|
+
* @param out - An existing AudioAnalysisView to populate.
|
|
20
|
+
*/
|
|
21
|
+
tryReadIntoView(entity: Entity, out: AudioAnalysisView): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an AudioAnalysis component for the given `entity`.
|
|
24
|
+
*
|
|
25
|
+
* If a component already exists on the entity, this call fails (does not replace).
|
|
26
|
+
*
|
|
27
|
+
* @param entity - The entity to attach the component to.
|
|
28
|
+
* @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
|
|
29
|
+
* @param amplitudeGain - Optional amplitude gain multiplier.
|
|
30
|
+
* @param bandsGain - Optional gain multiplier applied to all frequency bands.
|
|
31
|
+
*/
|
|
32
|
+
createAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
|
|
33
|
+
amplitudeGain?: number, bandsGain?: number): void;
|
|
34
|
+
/**
|
|
35
|
+
* Creates the AudioAnalysis component if missing, or replaces the existing one.
|
|
36
|
+
*
|
|
37
|
+
* @param entity - The target entity.
|
|
38
|
+
* @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
|
|
39
|
+
* @param amplitudeGain - Optional amplitude gain multiplier.
|
|
40
|
+
* @param bandsGain - Optional gain multiplier applied to the frequency bands.
|
|
41
|
+
*/
|
|
42
|
+
createOrReplaceAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
|
|
43
|
+
amplitudeGain?: number, bandsGain?: number): void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* A read-only JavaScript-friendly view of AudioAnalysis ECS data.
|
|
47
|
+
*
|
|
48
|
+
* `amplitude` represents the aggregated signal strength.
|
|
49
|
+
* `bands` represents the processed frequency bands.
|
|
50
|
+
*/
|
|
51
|
+
export type AudioAnalysisView = {
|
|
52
|
+
amplitude: number;
|
|
53
|
+
bands: number[];
|
|
54
|
+
};
|
|
55
|
+
export declare function defineAudioAnalysisComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AudioAnalysisComponentDefinitionExtended;
|