@dcl/ecs 7.21.1-22917715332.commit-e5d969d → 7.21.1-23203004012.commit-7c64ac2
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/MeshCollider.d.ts +0 -8
- package/dist/components/extended/MeshCollider.js +0 -6
- package/dist/components/extended/MeshRenderer.d.ts +0 -8
- package/dist/components/extended/MeshRenderer.js +0 -5
- package/dist/components/extended/Tween.d.ts +48 -1
- package/dist/components/extended/Tween.js +66 -0
- package/dist/components/generated/PhysicsCombinedForce.gen.js +25 -0
- package/dist/components/generated/PhysicsCombinedImpulse.gen.js +25 -0
- package/dist/components/generated/component-names.gen.js +2 -11
- package/dist/components/generated/global.gen.d.ts +4 -22
- package/dist/components/generated/global.gen.js +2 -11
- package/dist/components/generated/index.gen.d.ts +8 -44
- package/dist/components/generated/index.gen.js +10 -55
- package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
- package/dist/components/generated/pb/decentraland/common/texture.gen.js +0 -65
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -43
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +1 -151
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -119
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -6
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -4
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
- package/dist/components/generated/pb/decentraland/sdk/components/input_modifier.gen.d.ts +2 -0
- package/dist/components/generated/pb/decentraland/sdk/components/input_modifier.gen.js +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +1 -57
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +0 -56
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +0 -56
- package/dist/components/generated/pb/decentraland/sdk/components/physics_combined_force.gen.d.ts +25 -0
- package/dist/components/generated/pb/decentraland/sdk/components/{ui_scroll_result.gen.js → physics_combined_force.gen.js} +12 -12
- package/dist/components/generated/pb/decentraland/sdk/components/physics_combined_impulse.gen.d.ts +28 -0
- package/dist/components/generated/pb/decentraland/sdk/components/physics_combined_impulse.gen.js +51 -0
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +0 -30
- package/dist/components/generated/pb/decentraland/sdk/components/tween.gen.d.ts +21 -0
- package/dist/components/generated/pb/decentraland/sdk/components/tween.gen.js +99 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +0 -90
- package/dist/components/index.d.ts +7 -11
- package/dist/components/index.js +5 -11
- package/dist/components/types.d.ts +1 -3
- package/dist/engine/entity.js +4 -2
- package/dist/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist/engine/input.d.ts +0 -6
- package/dist/engine/input.js +4 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/runtime/globals.d.ts +1 -2
- package/dist/runtime/globals.js +1 -2
- package/dist/systems/events.d.ts +1 -100
- package/dist/systems/events.js +65 -143
- package/dist/systems/raycast.d.ts +1 -3
- package/dist/systems/raycast.js +0 -2
- package/dist-cjs/components/extended/MeshCollider.d.ts +0 -8
- package/dist-cjs/components/extended/MeshCollider.js +0 -6
- package/dist-cjs/components/extended/MeshRenderer.d.ts +0 -8
- package/dist-cjs/components/extended/MeshRenderer.js +0 -5
- package/dist-cjs/components/extended/Tween.d.ts +48 -1
- package/dist-cjs/components/extended/Tween.js +66 -0
- package/dist-cjs/components/generated/PhysicsCombinedForce.gen.js +28 -0
- package/dist-cjs/components/generated/PhysicsCombinedImpulse.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.js +2 -11
- package/dist-cjs/components/generated/global.gen.d.ts +4 -22
- package/dist-cjs/components/generated/global.gen.js +3 -13
- package/dist-cjs/components/generated/index.gen.d.ts +8 -44
- package/dist-cjs/components/generated/index.gen.js +14 -68
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +1 -66
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -43
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +2 -152
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +0 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +0 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +2 -120
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +2 -6
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/input_modifier.gen.d.ts +2 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/input_modifier.gen.js +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +2 -58
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +1 -57
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +1 -57
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/physics_combined_force.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/{ui_scroll_result.gen.js → physics_combined_force.gen.js} +12 -12
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/physics_combined_impulse.gen.d.ts +28 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/{ui_canvas.gen.js → physics_combined_impulse.gen.js} +17 -26
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +0 -13
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +1 -31
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/tween.gen.d.ts +21 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/tween.gen.js +100 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +1 -91
- package/dist-cjs/components/index.d.ts +7 -11
- package/dist-cjs/components/index.js +7 -15
- package/dist-cjs/components/types.d.ts +1 -3
- package/dist-cjs/engine/entity.js +4 -2
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist-cjs/engine/input.d.ts +0 -6
- package/dist-cjs/engine/input.js +4 -9
- package/dist-cjs/index.d.ts +1 -1
- package/dist-cjs/index.js +1 -1
- package/dist-cjs/runtime/globals.d.ts +1 -2
- package/dist-cjs/runtime/globals.js +1 -2
- package/dist-cjs/systems/events.d.ts +1 -100
- package/dist-cjs/systems/events.js +65 -143
- package/dist-cjs/systems/raycast.d.ts +1 -3
- package/dist-cjs/systems/raycast.js +0 -2
- package/package.json +2 -2
- package/dist/components/extended/AvatarEquippedData.d.ts +0 -10
- package/dist/components/extended/AvatarEquippedData.js +0 -15
- package/dist/components/extended/AvatarShape.d.ts +0 -10
- package/dist/components/extended/AvatarShape.js +0 -15
- package/dist/components/generated/AvatarLocomotionSettings.gen.d.ts +0 -1
- package/dist/components/generated/AvatarLocomotionSettings.gen.js +0 -25
- package/dist/components/generated/AvatarMovement.gen.d.ts +0 -1
- package/dist/components/generated/AvatarMovement.gen.js +0 -25
- package/dist/components/generated/AvatarMovementInfo.gen.d.ts +0 -1
- package/dist/components/generated/AvatarMovementInfo.gen.js +0 -25
- package/dist/components/generated/CameraLayer.gen.d.ts +0 -1
- package/dist/components/generated/CameraLayer.gen.js +0 -25
- package/dist/components/generated/CameraLayers.gen.d.ts +0 -1
- package/dist/components/generated/CameraLayers.gen.js +0 -25
- package/dist/components/generated/GlobalLight.gen.d.ts +0 -1
- package/dist/components/generated/GlobalLight.gen.js +0 -25
- package/dist/components/generated/GltfNode.gen.d.ts +0 -1
- package/dist/components/generated/GltfNode.gen.js +0 -25
- package/dist/components/generated/GltfNodeState.gen.d.ts +0 -1
- package/dist/components/generated/GltfNodeState.gen.js +0 -25
- package/dist/components/generated/TextureCamera.gen.d.ts +0 -1
- package/dist/components/generated/TextureCamera.gen.js +0 -25
- package/dist/components/generated/UiCanvas.gen.d.ts +0 -1
- package/dist/components/generated/UiCanvas.gen.js +0 -25
- package/dist/components/generated/UiScrollResult.gen.d.ts +0 -1
- package/dist/components/generated/UiScrollResult.gen.js +0 -25
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -29
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -93
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -20
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -69
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -32
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -126
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -104
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -50
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -61
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -41
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -59
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -191
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -60
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
- package/dist-cjs/components/extended/AvatarEquippedData.d.ts +0 -10
- package/dist-cjs/components/extended/AvatarEquippedData.js +0 -19
- package/dist-cjs/components/extended/AvatarShape.d.ts +0 -10
- package/dist-cjs/components/extended/AvatarShape.js +0 -19
- package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.js +0 -28
- package/dist-cjs/components/generated/AvatarMovement.gen.js +0 -28
- package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +0 -28
- package/dist-cjs/components/generated/CameraLayer.gen.js +0 -28
- package/dist-cjs/components/generated/CameraLayers.gen.d.ts +0 -1
- package/dist-cjs/components/generated/CameraLayers.gen.js +0 -28
- package/dist-cjs/components/generated/GlobalLight.gen.d.ts +0 -1
- package/dist-cjs/components/generated/GlobalLight.gen.js +0 -28
- package/dist-cjs/components/generated/GltfNode.gen.d.ts +0 -1
- package/dist-cjs/components/generated/GltfNode.gen.js +0 -28
- package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +0 -1
- package/dist-cjs/components/generated/GltfNodeState.gen.js +0 -28
- package/dist-cjs/components/generated/TextureCamera.gen.d.ts +0 -1
- package/dist-cjs/components/generated/TextureCamera.gen.js +0 -28
- package/dist-cjs/components/generated/UiCanvas.gen.d.ts +0 -1
- package/dist-cjs/components/generated/UiCanvas.gen.js +0 -28
- package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +0 -1
- package/dist-cjs/components/generated/UiScrollResult.gen.js +0 -28
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +0 -29
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -99
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +0 -20
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +0 -75
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +0 -32
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +0 -132
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -110
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -56
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -67
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -47
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -65
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -197
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
- /package/{dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts → dist/components/generated/PhysicsCombinedForce.gen.d.ts} +0 -0
- /package/{dist-cjs/components/generated/CameraLayer.gen.d.ts → dist/components/generated/PhysicsCombinedImpulse.gen.d.ts} +0 -0
- /package/dist-cjs/components/generated/{AvatarLocomotionSettings.gen.d.ts → PhysicsCombinedForce.gen.d.ts} +0 -0
- /package/dist-cjs/components/generated/{AvatarMovement.gen.d.ts → PhysicsCombinedImpulse.gen.d.ts} +0 -0
package/dist/systems/events.d.ts
CHANGED
|
@@ -18,12 +18,6 @@ export type EventSystemOptions = {
|
|
|
18
18
|
showHighlight?: boolean;
|
|
19
19
|
maxPlayerDistance?: number;
|
|
20
20
|
};
|
|
21
|
-
/**
|
|
22
|
-
* @public
|
|
23
|
-
*/
|
|
24
|
-
export type EventSystemOptionsCallback = EventSystemOptions & {
|
|
25
|
-
cb: EventSystemCallback;
|
|
26
|
-
};
|
|
27
21
|
export declare const getDefaultOpts: (opts?: Partial<EventSystemOptions>) => EventSystemOptions;
|
|
28
22
|
/**
|
|
29
23
|
* @public
|
|
@@ -53,37 +47,11 @@ export interface PointerEventsSystem {
|
|
|
53
47
|
* @param entity - Entity where the callback was attached
|
|
54
48
|
*/
|
|
55
49
|
removeOnPointerHoverLeave(entity: Entity): void;
|
|
56
|
-
/**
|
|
57
|
-
* @public
|
|
58
|
-
* Remove the callback for onPointerDrag event
|
|
59
|
-
* @param entity - Entity where the callback was attached
|
|
60
|
-
*/
|
|
61
|
-
removeOnPointerDrag(entity: Entity): void;
|
|
62
|
-
/**
|
|
63
|
-
* @public
|
|
64
|
-
* Remove the callback for onPointerDragLocked event
|
|
65
|
-
* @param entity - Entity where the callback was attached
|
|
66
|
-
*/
|
|
67
|
-
removeOnPointerDragLocked(entity: Entity): void;
|
|
68
|
-
/**
|
|
69
|
-
* @public
|
|
70
|
-
* Remove the callback for onPointerDragEnd event
|
|
71
|
-
* @param entity - Entity where the callback was attached
|
|
72
|
-
*/
|
|
73
|
-
removeOnPointerDragEnd(entity: Entity): void;
|
|
74
|
-
/**
|
|
75
|
-
* @public
|
|
76
|
-
* Execute callbacks when the user presses one of the InputButtons pointing at the entity
|
|
77
|
-
* @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
|
|
78
|
-
*/
|
|
79
|
-
onPointerDown(pointerData: {
|
|
80
|
-
entity: Entity;
|
|
81
|
-
optsList: EventSystemOptionsCallback[];
|
|
82
|
-
}): void;
|
|
83
50
|
/**
|
|
84
51
|
* @public
|
|
85
52
|
* Execute callback when the user press the InputButton pointing at the entity
|
|
86
53
|
* @param pointerData - Entity to attach the callback, Opts to trigger Feedback and Button
|
|
54
|
+
* @param cb - Function to execute when click fires
|
|
87
55
|
*/
|
|
88
56
|
onPointerDown(pointerData: {
|
|
89
57
|
entity: Entity;
|
|
@@ -96,15 +64,6 @@ export interface PointerEventsSystem {
|
|
|
96
64
|
* @param opts - Opts to trigger Feedback and Button
|
|
97
65
|
*/
|
|
98
66
|
onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
|
|
99
|
-
/**
|
|
100
|
-
* @public
|
|
101
|
-
* Execute callbacks when the user releases one of the InputButtons pointing at the entity
|
|
102
|
-
* @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
|
|
103
|
-
*/
|
|
104
|
-
onPointerUp(pointerData: {
|
|
105
|
-
entity: Entity;
|
|
106
|
-
optsList: EventSystemOptionsCallback[];
|
|
107
|
-
}): void;
|
|
108
67
|
/**
|
|
109
68
|
* @public
|
|
110
69
|
* Execute callback when the user releases the InputButton pointing at the entity
|
|
@@ -142,64 +101,6 @@ export interface PointerEventsSystem {
|
|
|
142
101
|
entity: Entity;
|
|
143
102
|
opts?: Partial<EventSystemOptions>;
|
|
144
103
|
}, cb: EventSystemCallback): void;
|
|
145
|
-
/**
|
|
146
|
-
* @public
|
|
147
|
-
* Execute callbacks when the user drags the pointer from inside the entity
|
|
148
|
-
* @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
|
|
149
|
-
*/
|
|
150
|
-
onPointerDrag(pointerData: {
|
|
151
|
-
entity: Entity;
|
|
152
|
-
optsList: EventSystemOptionsCallback[];
|
|
153
|
-
}): void;
|
|
154
|
-
/**
|
|
155
|
-
* @public
|
|
156
|
-
* Execute callback when the user clicks and drags the pointer from inside the entity
|
|
157
|
-
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
158
|
-
* @param cb - Function to execute when click fires
|
|
159
|
-
*/
|
|
160
|
-
onPointerDrag(pointerData: {
|
|
161
|
-
entity: Entity;
|
|
162
|
-
opts?: Partial<EventSystemOptions>;
|
|
163
|
-
}, cb: EventSystemCallback): void;
|
|
164
|
-
/**
|
|
165
|
-
* @public
|
|
166
|
-
* Execute callbacks when the user drags the pointer from inside the entity, locking the cursor in place.
|
|
167
|
-
* @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
|
|
168
|
-
*/
|
|
169
|
-
onPointerDragLocked(pointerData: {
|
|
170
|
-
entity: Entity;
|
|
171
|
-
optsList: EventSystemOptionsCallback[];
|
|
172
|
-
}): void;
|
|
173
|
-
/**
|
|
174
|
-
* @public
|
|
175
|
-
* Execute callback when the user clicks and drags the pointer from inside the entity,
|
|
176
|
-
* locking the cursor in place
|
|
177
|
-
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
178
|
-
* @param cb - Function to execute when click fires
|
|
179
|
-
*/
|
|
180
|
-
onPointerDragLocked(pointerData: {
|
|
181
|
-
entity: Entity;
|
|
182
|
-
opts?: Partial<EventSystemOptions>;
|
|
183
|
-
}, cb: EventSystemCallback): void;
|
|
184
|
-
/**
|
|
185
|
-
* @public
|
|
186
|
-
* Execute callbacks when the user releases a button after a drag
|
|
187
|
-
* @param pointerData - Entity to attach the callbacks, list of options to trigger Feedback, Button, and Callback
|
|
188
|
-
*/
|
|
189
|
-
onPointerDragEnd(pointerData: {
|
|
190
|
-
entity: Entity;
|
|
191
|
-
optsList: EventSystemOptionsCallback[];
|
|
192
|
-
}): void;
|
|
193
|
-
/**
|
|
194
|
-
* @public
|
|
195
|
-
* Execute callback when the user releases the button after a drag
|
|
196
|
-
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
197
|
-
* @param cb - Function to execute when click fires
|
|
198
|
-
*/
|
|
199
|
-
onPointerDragEnd(pointerData: {
|
|
200
|
-
entity: Entity;
|
|
201
|
-
opts?: Partial<EventSystemOptions>;
|
|
202
|
-
}, cb: EventSystemCallback): void;
|
|
203
104
|
}
|
|
204
105
|
/**
|
|
205
106
|
* @public
|
package/dist/systems/events.js
CHANGED
|
@@ -18,9 +18,6 @@ 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["Drag"] = 5] = "Drag";
|
|
22
|
-
EventType[EventType["DragLocked"] = 6] = "DragLocked";
|
|
23
|
-
EventType[EventType["DragEnd"] = 7] = "DragEnd";
|
|
24
21
|
})(EventType || (EventType = {}));
|
|
25
22
|
const eventsMap = new Map();
|
|
26
23
|
function getEvent(entity) {
|
|
@@ -56,148 +53,77 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
56
53
|
else if (eventType === EventType.HoverEnter) {
|
|
57
54
|
return 2 /* PointerEventType.PET_HOVER_ENTER */;
|
|
58
55
|
}
|
|
59
|
-
else if (eventType === EventType.Drag) {
|
|
60
|
-
return 5 /* PointerEventType.PET_DRAG */;
|
|
61
|
-
}
|
|
62
|
-
else if (eventType === EventType.DragLocked) {
|
|
63
|
-
return 4 /* PointerEventType.PET_DRAG_LOCKED */;
|
|
64
|
-
}
|
|
65
|
-
else if (eventType === EventType.DragEnd) {
|
|
66
|
-
return 6 /* PointerEventType.PET_DRAG_END */;
|
|
67
|
-
}
|
|
68
56
|
return 1 /* PointerEventType.PET_DOWN */;
|
|
69
57
|
}
|
|
70
|
-
function getEventType(pet) {
|
|
71
|
-
if (pet === 0 /* PointerEventType.PET_UP */) {
|
|
72
|
-
return EventType.Up;
|
|
73
|
-
}
|
|
74
|
-
else if (pet === 2 /* PointerEventType.PET_HOVER_ENTER */) {
|
|
75
|
-
return EventType.HoverEnter;
|
|
76
|
-
}
|
|
77
|
-
else if (pet === 3 /* PointerEventType.PET_HOVER_LEAVE */) {
|
|
78
|
-
return EventType.HoverLeave;
|
|
79
|
-
}
|
|
80
|
-
else if (pet === 5 /* PointerEventType.PET_DRAG */) {
|
|
81
|
-
return EventType.Drag;
|
|
82
|
-
}
|
|
83
|
-
else if (pet === 4 /* PointerEventType.PET_DRAG_LOCKED */) {
|
|
84
|
-
return EventType.DragLocked;
|
|
85
|
-
}
|
|
86
|
-
else if (pet === 6 /* PointerEventType.PET_DRAG_END */) {
|
|
87
|
-
return EventType.DragEnd;
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return EventType.Down;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
58
|
function removeEvent(entity, type) {
|
|
94
59
|
const event = getEvent(entity);
|
|
95
|
-
const
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
for (const button of pointerEventList.keys()) {
|
|
100
|
-
removePointerEvent(entity, getPointerEvent(type), button);
|
|
60
|
+
const pointerEvent = event.get(type);
|
|
61
|
+
if (pointerEvent?.opts.hoverText) {
|
|
62
|
+
removePointerEvent(entity, getPointerEvent(type), pointerEvent.opts.button);
|
|
101
63
|
}
|
|
102
64
|
event.delete(type);
|
|
103
65
|
}
|
|
104
66
|
engine.addSystem(function EventSystem() {
|
|
105
|
-
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
for (const entity of eventsMap.keys()) {
|
|
67
|
+
for (const [entity, event] of eventsMap) {
|
|
109
68
|
if (engine.getEntityState(entity) === EntityState.Removed) {
|
|
110
69
|
eventsMap.delete(entity);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
for (const command of inputSystem.getInputCommands()) {
|
|
114
|
-
const entity = command.hit?.entityId;
|
|
115
|
-
if (entity === undefined) {
|
|
116
|
-
continue;
|
|
117
|
-
}
|
|
118
|
-
const entityMap = eventsMap.get(entity);
|
|
119
|
-
if (entityMap === undefined) {
|
|
120
70
|
continue;
|
|
121
71
|
}
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
72
|
+
for (const [eventType, { cb, opts }] of event) {
|
|
73
|
+
if (eventType === EventType.Click) {
|
|
74
|
+
const command = inputSystem.getClick(opts.button, entity);
|
|
75
|
+
if (command)
|
|
76
|
+
checkNotThenable(cb(command.up), 'Click event returned a thenable. Only synchronous functions are allowed');
|
|
127
77
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const clickMap = entityMap.get(EventType.Click);
|
|
136
|
-
if (clickMap) {
|
|
137
|
-
const data = clickMap.get(command.button);
|
|
138
|
-
if (data && inputSystem.getClick(command.button, entity)) {
|
|
139
|
-
checkNotThenable(data.cb(command), 'Click event returned a thenable. Only synchronous functions are allowed');
|
|
140
|
-
}
|
|
141
|
-
const anyData = clickMap.get(3 /* InputAction.IA_ANY */);
|
|
142
|
-
if (anyData && inputSystem.getClick(command.button, entity)) {
|
|
143
|
-
checkNotThenable(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
78
|
+
if (eventType === EventType.Down ||
|
|
79
|
+
eventType === EventType.Up ||
|
|
80
|
+
eventType === EventType.HoverEnter ||
|
|
81
|
+
eventType === EventType.HoverLeave) {
|
|
82
|
+
const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
|
|
83
|
+
if (command) {
|
|
84
|
+
checkNotThenable(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
144
85
|
}
|
|
145
86
|
}
|
|
146
87
|
}
|
|
147
88
|
}
|
|
148
89
|
});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
setPointerEvent(entity, getPointerEvent(ty), opts);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
setPointerEvent(entity, getPointerEvent(ty), opts);
|
|
191
|
-
}
|
|
192
|
-
callbacks.set(opts.button, opts);
|
|
193
|
-
}
|
|
194
|
-
for (const button of previous.keys()) {
|
|
195
|
-
if (!callbacks.has(button)) {
|
|
196
|
-
removePointerEvent(entity, getPointerEvent(ty), button);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
getEvent(entity).set(ty, callbacks);
|
|
200
|
-
};
|
|
90
|
+
const onPointerDown = (...args) => {
|
|
91
|
+
const [data, cb, maybeOpts] = args;
|
|
92
|
+
if (typeof data === 'number') {
|
|
93
|
+
return onPointerDown({ entity: data, opts: maybeOpts ?? {} }, cb);
|
|
94
|
+
}
|
|
95
|
+
const { entity, opts } = data;
|
|
96
|
+
const options = getDefaultOpts(opts);
|
|
97
|
+
removeEvent(entity, EventType.Down);
|
|
98
|
+
getEvent(entity).set(EventType.Down, { cb, opts: options });
|
|
99
|
+
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
|
|
100
|
+
};
|
|
101
|
+
const onPointerUp = (...args) => {
|
|
102
|
+
const [data, cb, maybeOpts] = args;
|
|
103
|
+
if (typeof data === 'number') {
|
|
104
|
+
return onPointerUp({ entity: data, opts: maybeOpts ?? {} }, cb);
|
|
105
|
+
}
|
|
106
|
+
const { entity, opts } = data;
|
|
107
|
+
const options = getDefaultOpts(opts);
|
|
108
|
+
removeEvent(entity, EventType.Up);
|
|
109
|
+
getEvent(entity).set(EventType.Up, { cb, opts: options });
|
|
110
|
+
setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options);
|
|
111
|
+
};
|
|
112
|
+
const onPointerHoverEnter = (...args) => {
|
|
113
|
+
const [data, cb] = args;
|
|
114
|
+
const { entity, opts } = data;
|
|
115
|
+
const options = getDefaultOpts(opts);
|
|
116
|
+
removeEvent(entity, EventType.HoverEnter);
|
|
117
|
+
getEvent(entity).set(EventType.HoverEnter, { cb, opts: options });
|
|
118
|
+
setPointerEvent(entity, 2 /* PointerEventType.PET_HOVER_ENTER */, options);
|
|
119
|
+
};
|
|
120
|
+
const onPointerHoverLeave = (...args) => {
|
|
121
|
+
const [data, cb] = args;
|
|
122
|
+
const { entity, opts } = data;
|
|
123
|
+
const options = getDefaultOpts(opts);
|
|
124
|
+
removeEvent(entity, EventType.HoverLeave);
|
|
125
|
+
getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
|
|
126
|
+
setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
|
|
201
127
|
};
|
|
202
128
|
return {
|
|
203
129
|
removeOnClick(entity) {
|
|
@@ -215,22 +141,18 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
215
141
|
removeOnPointerHoverLeave(entity) {
|
|
216
142
|
removeEvent(entity, EventType.HoverLeave);
|
|
217
143
|
},
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
removeEvent(entity, EventType.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
144
|
+
onClick(value, cb) {
|
|
145
|
+
const { entity } = value;
|
|
146
|
+
const options = getDefaultOpts(value.opts);
|
|
147
|
+
// Clear previous event with over feedback included
|
|
148
|
+
removeEvent(entity, EventType.Click);
|
|
149
|
+
// Set new event
|
|
150
|
+
getEvent(entity).set(EventType.Click, { cb, opts: options });
|
|
151
|
+
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
|
|
226
152
|
},
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
onPointerHoverLeave: onPointerFunction(EventType.HoverLeave),
|
|
232
|
-
onPointerDrag: onPointerFunction(EventType.Drag),
|
|
233
|
-
onPointerDragLocked: onPointerFunction(EventType.DragLocked),
|
|
234
|
-
onPointerDragEnd: onPointerFunction(EventType.DragEnd)
|
|
153
|
+
onPointerDown,
|
|
154
|
+
onPointerUp,
|
|
155
|
+
onPointerHoverEnter,
|
|
156
|
+
onPointerHoverLeave
|
|
235
157
|
};
|
|
236
158
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RaycastQueryType,
|
|
1
|
+
import { RaycastQueryType, PBRaycastResult } from '../components';
|
|
2
2
|
import { DeepReadonlyObject, Entity } from '../engine';
|
|
3
3
|
import { Vector3 } from '../components/generated/pb/decentraland/common/vectors.gen';
|
|
4
4
|
/**
|
|
@@ -14,8 +14,6 @@ export type RaycastSystemOptions = {
|
|
|
14
14
|
queryType: RaycastQueryType;
|
|
15
15
|
continuous?: boolean | undefined;
|
|
16
16
|
collisionMask?: number | undefined;
|
|
17
|
-
shape?: RaycastShape | undefined;
|
|
18
|
-
includeWorld?: boolean | undefined;
|
|
19
17
|
};
|
|
20
18
|
export type LocalDirectionRaycastSystemOptions = {
|
|
21
19
|
direction?: Vector3;
|
package/dist/systems/raycast.js
CHANGED
|
@@ -58,8 +58,6 @@ export function createRaycastSystem(engine) {
|
|
|
58
58
|
raycast.direction = raycastValue.directionRawValue;
|
|
59
59
|
raycast.continuous = raycastValue.continuous;
|
|
60
60
|
raycast.queryType = raycastValue.queryType;
|
|
61
|
-
raycast.shape = raycastValue.shape;
|
|
62
|
-
raycast.includeWorld = raycastValue.includeWorld;
|
|
63
61
|
entitiesCallbackResultMap.set(entity, { callback: callback });
|
|
64
62
|
};
|
|
65
63
|
nextTickRaycasts.push(onNextTick);
|
|
@@ -34,13 +34,5 @@ export interface MeshColliderComponentDefinitionExtended extends LastWriteWinEle
|
|
|
34
34
|
* @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
|
|
35
35
|
*/
|
|
36
36
|
setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
|
|
37
|
-
/**
|
|
38
|
-
* @public
|
|
39
|
-
* Set a gltf internal mesh in the MeshCollider component
|
|
40
|
-
* @param entity - entity to create or replace the MeshRenderer component
|
|
41
|
-
* @param source - the path to the gltf
|
|
42
|
-
* @param meshName - the name of the mesh in the gltf
|
|
43
|
-
*/
|
|
44
|
-
setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
|
|
45
37
|
}
|
|
46
38
|
export declare function defineMeshColliderComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshColliderComponentDefinitionExtended;
|
|
@@ -37,12 +37,6 @@ function defineMeshColliderComponent(engine) {
|
|
|
37
37
|
mesh: { $case: 'sphere', sphere: {} },
|
|
38
38
|
collisionMask: getCollisionMask(colliderLayers)
|
|
39
39
|
});
|
|
40
|
-
},
|
|
41
|
-
setGltfMesh(entity, source, meshName, colliderLayers) {
|
|
42
|
-
theComponent.createOrReplace(entity, {
|
|
43
|
-
mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } },
|
|
44
|
-
collisionMask: getCollisionMask(colliderLayers)
|
|
45
|
-
});
|
|
46
40
|
}
|
|
47
41
|
};
|
|
48
42
|
}
|
|
@@ -32,13 +32,5 @@ export interface MeshRendererComponentDefinitionExtended extends LastWriteWinEle
|
|
|
32
32
|
* @param entity - entity to create or replace the MeshRenderer component
|
|
33
33
|
*/
|
|
34
34
|
setSphere(entity: Entity): void;
|
|
35
|
-
/**
|
|
36
|
-
* @public
|
|
37
|
-
* Set a gltf internal mesh in the MeshRenderer component
|
|
38
|
-
* @param entity - entity to create or replace the MeshRenderer component
|
|
39
|
-
* @param source - the path to the gltf
|
|
40
|
-
* @param meshName - the name of the mesh in the gltf
|
|
41
|
-
*/
|
|
42
|
-
setGltfMesh(entity: Entity, source: string, meshName: string): void;
|
|
43
35
|
}
|
|
44
36
|
export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;
|
|
@@ -25,11 +25,6 @@ function defineMeshRendererComponent(engine) {
|
|
|
25
25
|
theComponent.createOrReplace(entity, {
|
|
26
26
|
mesh: { $case: 'sphere', sphere: {} }
|
|
27
27
|
});
|
|
28
|
-
},
|
|
29
|
-
setGltfMesh(entity, source, meshName) {
|
|
30
|
-
theComponent.createOrReplace(entity, {
|
|
31
|
-
mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } }
|
|
32
|
-
});
|
|
33
28
|
}
|
|
34
29
|
};
|
|
35
30
|
}
|
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
import { Entity, IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
|
|
2
2
|
import { Quaternion, Vector2, Vector3 } from '../generated/pb/decentraland/common/vectors.gen';
|
|
3
3
|
import { EasingFunction, Move, MoveContinuous, PBTween, Rotate, RotateContinuous, Scale, TextureMove, TextureMoveContinuous, TextureMovementType } from '../generated/index.gen';
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
* Partial params for Tween.Mode.MoveRotateScale(). At least one of position, rotation, or scale must be provided.
|
|
7
|
+
* Use this when building a mode for Tween.createOrReplace() or TweenSequence (e.g. only positionStart/positionEnd).
|
|
8
|
+
*/
|
|
9
|
+
export interface MoveRotateScaleModeParams {
|
|
10
|
+
/** Position tween (start → end). Optional. */
|
|
11
|
+
position?: {
|
|
12
|
+
start: Vector3;
|
|
13
|
+
end: Vector3;
|
|
14
|
+
};
|
|
15
|
+
/** Rotation tween (start → end). Optional. */
|
|
16
|
+
rotation?: {
|
|
17
|
+
start: Quaternion;
|
|
18
|
+
end: Quaternion;
|
|
19
|
+
};
|
|
20
|
+
/** Scale tween (start → end). Optional. */
|
|
21
|
+
scale?: {
|
|
22
|
+
start: Vector3;
|
|
23
|
+
end: Vector3;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
* Parameters for setMoveRotateScale. At least one of position, rotation, or scale must be provided.
|
|
29
|
+
*/
|
|
30
|
+
export interface SetMoveRotateScaleParams extends MoveRotateScaleModeParams {
|
|
31
|
+
/** Duration of the tween in milliseconds. */
|
|
32
|
+
duration: number;
|
|
33
|
+
/** Easing function (defaults to EF_LINEAR). */
|
|
34
|
+
easingFunction?: EasingFunction;
|
|
35
|
+
}
|
|
4
36
|
/**
|
|
5
37
|
* @public
|
|
6
38
|
*/
|
|
@@ -33,13 +65,18 @@ export interface TweenHelper {
|
|
|
33
65
|
* @returns a texture-move-continuous mode tween
|
|
34
66
|
*/
|
|
35
67
|
TextureMoveContinuous: (textureMove: TextureMoveContinuous) => PBTween['mode'];
|
|
68
|
+
/**
|
|
69
|
+
* @returns a move-rotate-scale mode tween
|
|
70
|
+
* @param params - partial transform (at least one of position, rotation, scale); omit axes you don't need
|
|
71
|
+
*/
|
|
72
|
+
MoveRotateScale: (params: MoveRotateScaleModeParams) => PBTween['mode'];
|
|
36
73
|
}
|
|
37
74
|
/**
|
|
38
75
|
* @public
|
|
39
76
|
*/
|
|
40
77
|
export interface TweenComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBTween> {
|
|
41
78
|
/**
|
|
42
|
-
*
|
|
79
|
+
* Helpers with constructor
|
|
43
80
|
*/
|
|
44
81
|
Mode: TweenHelper;
|
|
45
82
|
/**
|
|
@@ -118,5 +155,15 @@ export interface TweenComponentDefinitionExtended extends LastWriteWinElementSet
|
|
|
118
155
|
* @param duration - duration of the tween in milliseconds (defaults to 0 for infinite)
|
|
119
156
|
*/
|
|
120
157
|
setTextureMoveContinuous(entity: Entity, direction: Vector2, speed: number, movementType?: TextureMovementType, duration?: number): void;
|
|
158
|
+
/**
|
|
159
|
+
* @public
|
|
160
|
+
*
|
|
161
|
+
* Creates or replaces a move-rotate-scale tween component that simultaneously animates
|
|
162
|
+
* an entity's position, rotation, and/or scale from start to end. Provide only the
|
|
163
|
+
* properties you need (at least one of position, rotation, or scale).
|
|
164
|
+
* @param entity - entity to apply the tween to
|
|
165
|
+
* @param params - object with optional position, rotation, scale (each with start/end), duration, and optional easingFunction
|
|
166
|
+
*/
|
|
167
|
+
setMoveRotateScale(entity: Entity, params: SetMoveRotateScaleParams): void;
|
|
121
168
|
}
|
|
122
169
|
export declare function defineTweenComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): TweenComponentDefinitionExtended;
|
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defineTweenComponent = void 0;
|
|
4
4
|
const index_gen_1 = require("../generated/index.gen");
|
|
5
|
+
function assertDuration(duration, apiName) {
|
|
6
|
+
if (!Number.isFinite(duration) || duration < 0) {
|
|
7
|
+
throw new Error(`${apiName}: duration must be a non-negative finite number`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/** Shared validation for params that have optional position/rotation/scale with start & end. */
|
|
11
|
+
function assertMoveRotateScaleAxesStartEnd(params, apiName) {
|
|
12
|
+
if (!params.position && !params.rotation && !params.scale) {
|
|
13
|
+
throw new Error(`${apiName}: at least one of position, rotation, or scale must be provided`);
|
|
14
|
+
}
|
|
15
|
+
if (params.position) {
|
|
16
|
+
const pos = params.position;
|
|
17
|
+
if (!pos.start || !pos.end) {
|
|
18
|
+
throw new Error(`${apiName}: position must have both start and end`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (params.rotation) {
|
|
22
|
+
const rot = params.rotation;
|
|
23
|
+
if (!rot.start || !rot.end) {
|
|
24
|
+
throw new Error(`${apiName}: rotation must have both start and end`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (params.scale) {
|
|
28
|
+
const scl = params.scale;
|
|
29
|
+
if (!scl.start || !scl.end) {
|
|
30
|
+
throw new Error(`${apiName}: scale must have both start and end`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
5
34
|
const TweenHelper = {
|
|
6
35
|
Move(move) {
|
|
7
36
|
return {
|
|
@@ -44,6 +73,21 @@ const TweenHelper = {
|
|
|
44
73
|
$case: 'textureMoveContinuous',
|
|
45
74
|
textureMoveContinuous
|
|
46
75
|
};
|
|
76
|
+
},
|
|
77
|
+
MoveRotateScale(params) {
|
|
78
|
+
assertMoveRotateScaleAxesStartEnd(params, 'Tween.Mode.MoveRotateScale');
|
|
79
|
+
const moveRotateScale = {
|
|
80
|
+
positionStart: params.position ? params.position.start : undefined,
|
|
81
|
+
positionEnd: params.position ? params.position.end : undefined,
|
|
82
|
+
rotationStart: params.rotation ? params.rotation.start : undefined,
|
|
83
|
+
rotationEnd: params.rotation ? params.rotation.end : undefined,
|
|
84
|
+
scaleStart: params.scale ? params.scale.start : undefined,
|
|
85
|
+
scaleEnd: params.scale ? params.scale.end : undefined
|
|
86
|
+
};
|
|
87
|
+
return {
|
|
88
|
+
$case: 'moveRotateScale',
|
|
89
|
+
moveRotateScale
|
|
90
|
+
};
|
|
47
91
|
}
|
|
48
92
|
};
|
|
49
93
|
function defineTweenComponent(engine) {
|
|
@@ -150,6 +194,28 @@ function defineTweenComponent(engine) {
|
|
|
150
194
|
easingFunction: 0 /* EasingFunction.EF_LINEAR */,
|
|
151
195
|
playing: true
|
|
152
196
|
});
|
|
197
|
+
},
|
|
198
|
+
setMoveRotateScale(entity, params) {
|
|
199
|
+
assertMoveRotateScaleAxesStartEnd(params, 'setMoveRotateScale');
|
|
200
|
+
assertDuration(params.duration, 'setMoveRotateScale');
|
|
201
|
+
const { position, rotation, scale, duration, easingFunction = 0 /* EasingFunction.EF_LINEAR */ } = params;
|
|
202
|
+
const moveRotateScale = {
|
|
203
|
+
positionStart: position ? position.start : undefined,
|
|
204
|
+
positionEnd: position ? position.end : undefined,
|
|
205
|
+
rotationStart: rotation ? rotation.start : undefined,
|
|
206
|
+
rotationEnd: rotation ? rotation.end : undefined,
|
|
207
|
+
scaleStart: scale ? scale.start : undefined,
|
|
208
|
+
scaleEnd: scale ? scale.end : undefined
|
|
209
|
+
};
|
|
210
|
+
theComponent.createOrReplace(entity, {
|
|
211
|
+
mode: {
|
|
212
|
+
$case: 'moveRotateScale',
|
|
213
|
+
moveRotateScale
|
|
214
|
+
},
|
|
215
|
+
duration,
|
|
216
|
+
easingFunction,
|
|
217
|
+
playing: true
|
|
218
|
+
});
|
|
153
219
|
}
|
|
154
220
|
};
|
|
155
221
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhysicsCombinedForceSchema = void 0;
|
|
4
|
+
const physics_combined_force_gen_1 = require("./pb/decentraland/sdk/components/physics_combined_force.gen");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
exports.PhysicsCombinedForceSchema = {
|
|
9
|
+
COMPONENT_ID: 1216,
|
|
10
|
+
serialize(value, builder) {
|
|
11
|
+
const writer = physics_combined_force_gen_1.PBPhysicsCombinedForce.encode(value);
|
|
12
|
+
const buffer = new Uint8Array(writer.finish(), 0, writer.len);
|
|
13
|
+
builder.writeBuffer(buffer, false);
|
|
14
|
+
},
|
|
15
|
+
deserialize(reader) {
|
|
16
|
+
return physics_combined_force_gen_1.PBPhysicsCombinedForce.decode(reader.buffer(), reader.remainingBytes());
|
|
17
|
+
},
|
|
18
|
+
create() {
|
|
19
|
+
// TODO: this is a hack.
|
|
20
|
+
return physics_combined_force_gen_1.PBPhysicsCombinedForce.decode(new Uint8Array());
|
|
21
|
+
},
|
|
22
|
+
jsonSchema: {
|
|
23
|
+
type: "object",
|
|
24
|
+
properties: {},
|
|
25
|
+
serializationType: "protocol-buffer",
|
|
26
|
+
protocolBuffer: "PBPhysicsCombinedForce"
|
|
27
|
+
}
|
|
28
|
+
};
|