@dcl/ecs 7.22.5 → 7.22.6-25007982108.commit-83012ab
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/AvatarEquippedData.d.ts +10 -0
- package/dist/components/extended/AvatarEquippedData.js +15 -0
- package/dist/components/extended/AvatarShape.d.ts +10 -0
- package/dist/components/extended/AvatarShape.js +15 -0
- package/dist/components/extended/MeshCollider.d.ts +8 -0
- package/dist/components/extended/MeshCollider.js +6 -0
- package/dist/components/extended/MeshRenderer.d.ts +8 -0
- package/dist/components/extended/MeshRenderer.js +5 -0
- package/dist/components/extended/Tween.d.ts +1 -48
- package/dist/components/extended/Tween.js +0 -66
- package/dist/components/generated/AvatarLocomotionSettings.gen.d.ts +1 -0
- package/dist/components/generated/AvatarLocomotionSettings.gen.js +25 -0
- package/dist/components/generated/AvatarMovement.gen.d.ts +1 -0
- package/dist/components/generated/AvatarMovement.gen.js +25 -0
- package/dist/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
- package/dist/components/generated/AvatarMovementInfo.gen.js +25 -0
- package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
- package/dist/components/generated/CameraLayer.gen.js +25 -0
- package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
- package/dist/components/generated/CameraLayers.gen.js +25 -0
- package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
- package/dist/components/generated/GlobalLight.gen.js +25 -0
- package/dist/components/generated/GltfNode.gen.d.ts +1 -0
- package/dist/components/generated/GltfNode.gen.js +25 -0
- package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
- package/dist/components/generated/GltfNodeState.gen.js +25 -0
- package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
- package/dist/components/generated/TextureCamera.gen.js +25 -0
- package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
- package/dist/components/generated/UiCanvas.gen.js +25 -0
- package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
- package/dist/components/generated/UiScrollResult.gen.js +25 -0
- package/dist/components/generated/component-names.gen.js +11 -0
- package/dist/components/generated/global.gen.d.ts +22 -0
- package/dist/components/generated/global.gen.js +11 -0
- package/dist/components/generated/index.gen.d.ts +44 -0
- package/dist/components/generated/index.gen.js +55 -0
- package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
- package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +29 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +93 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +69 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +126 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
- package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +6 -2
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +4 -0
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
- package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
- package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
- package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
- package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
- package/dist/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +4 -42
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
- package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
- package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +30 -0
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
- package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +2 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +10 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
- package/dist/components/generated/types.gen.d.ts +0 -1
- package/dist/components/generated/types.gen.js +0 -1
- package/dist/components/index.d.ts +11 -9
- package/dist/components/index.js +11 -8
- package/dist/components/manual/Transform.d.ts +0 -13
- package/dist/components/manual/Transform.js +0 -8
- package/dist/components/types.d.ts +3 -2
- package/dist/engine/entity.js +2 -4
- package/dist/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist/engine/input.d.ts +6 -0
- package/dist/engine/input.js +9 -4
- package/dist/engine/lww-element-set-component-definition.d.ts +2 -2
- package/dist/engine/lww-element-set-component-definition.js +7 -24
- package/dist/index.d.ts +2 -4
- package/dist/index.js +1 -4
- package/dist/runtime/globals.d.ts +2 -1
- package/dist/runtime/globals.js +2 -1
- package/dist/runtime/helpers/index.d.ts +0 -1
- package/dist/runtime/helpers/index.js +0 -1
- package/dist/runtime/helpers/tree.d.ts +0 -6
- package/dist/runtime/helpers/tree.js +2 -2
- package/dist/runtime/initialization/index.d.ts +0 -7
- package/dist/runtime/initialization/index.js +0 -6
- package/dist/systems/crdt/index.js +6 -6
- package/dist/systems/events.d.ts +59 -25
- package/dist/systems/events.js +145 -129
- package/dist/systems/raycast.d.ts +3 -1
- package/dist/systems/raycast.js +2 -0
- package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
- package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
- package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
- package/dist-cjs/components/extended/AvatarShape.js +19 -0
- package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
- package/dist-cjs/components/extended/MeshCollider.js +6 -0
- package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
- package/dist-cjs/components/extended/MeshRenderer.js +5 -0
- package/dist-cjs/components/extended/Tween.d.ts +1 -48
- package/dist-cjs/components/extended/Tween.js +0 -66
- package/dist-cjs/components/generated/AvatarLocomotionSettings.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
- package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
- package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
- package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
- package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
- package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
- package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
- package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
- package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
- package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
- package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.js +11 -0
- package/dist-cjs/components/generated/global.gen.d.ts +22 -0
- package/dist-cjs/components/generated/global.gen.js +13 -2
- package/dist-cjs/components/generated/index.gen.d.ts +44 -0
- package/dist-cjs/components/generated/index.gen.js +68 -2
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +99 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +75 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +132 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +6 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +4 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.d.ts +1 -14
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/particle_system.gen.js +5 -43
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +2 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +10 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
- package/dist-cjs/components/generated/types.gen.d.ts +0 -1
- package/dist-cjs/components/generated/types.gen.js +0 -3
- package/dist-cjs/components/index.d.ts +11 -9
- package/dist-cjs/components/index.js +15 -11
- package/dist-cjs/components/manual/Transform.d.ts +0 -13
- package/dist-cjs/components/manual/Transform.js +0 -31
- package/dist-cjs/components/types.d.ts +3 -2
- package/dist-cjs/engine/entity.js +2 -4
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist-cjs/engine/input.d.ts +6 -0
- package/dist-cjs/engine/input.js +9 -4
- package/dist-cjs/engine/lww-element-set-component-definition.d.ts +2 -2
- package/dist-cjs/engine/lww-element-set-component-definition.js +7 -24
- package/dist-cjs/index.d.ts +2 -4
- package/dist-cjs/index.js +2 -5
- package/dist-cjs/runtime/globals.d.ts +2 -1
- package/dist-cjs/runtime/globals.js +2 -1
- package/dist-cjs/runtime/helpers/index.d.ts +0 -1
- package/dist-cjs/runtime/helpers/index.js +0 -1
- package/dist-cjs/runtime/helpers/tree.d.ts +0 -6
- package/dist-cjs/runtime/helpers/tree.js +2 -3
- package/dist-cjs/runtime/initialization/index.d.ts +0 -7
- package/dist-cjs/runtime/initialization/index.js +1 -7
- package/dist-cjs/systems/crdt/index.js +6 -6
- package/dist-cjs/systems/events.d.ts +59 -25
- package/dist-cjs/systems/events.js +145 -129
- package/dist-cjs/systems/raycast.d.ts +3 -1
- package/dist-cjs/systems/raycast.js +2 -0
- package/package.json +2 -3
- package/dist/components/extended/ParticleSystem.d.ts +0 -24
- package/dist/components/extended/ParticleSystem.js +0 -23
- package/dist/runtime/helpers/vectors.js +0 -36
- package/dist/systems/physics-force.js +0 -140
- package/dist/systems/physics-impulse.d.ts +0 -12
- package/dist/systems/physics-impulse.js +0 -85
- package/dist/systems/physics.d.ts +0 -77
- package/dist/systems/physics.js +0 -18
- package/dist-cjs/components/extended/ParticleSystem.d.ts +0 -24
- package/dist-cjs/components/extended/ParticleSystem.js +0 -28
- package/dist-cjs/runtime/helpers/vectors.js +0 -39
- package/dist-cjs/systems/physics-force.js +0 -167
- package/dist-cjs/systems/physics-impulse.d.ts +0 -12
- package/dist-cjs/systems/physics-impulse.js +0 -112
- package/dist-cjs/systems/physics.d.ts +0 -77
- package/dist-cjs/systems/physics.js +0 -23
- /package/dist-cjs/{runtime/helpers/vectors.d.ts → components/generated/AvatarLocomotionSettings.gen.d.ts} +0 -0
- /package/dist-cjs/{systems/physics-force.d.ts → components/generated/AvatarMovement.gen.d.ts} +0 -0
- /package/{dist/runtime/helpers/vectors.d.ts → dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
- /package/{dist/systems/physics-force.d.ts → dist-cjs/components/generated/CameraLayer.gen.d.ts} +0 -0
|
@@ -2,12 +2,6 @@ import { Entity } from '../../engine/entity';
|
|
|
2
2
|
import { ComponentDefinition, IEngine } from '../../engine';
|
|
3
3
|
import { Vector3Type } from '../../schemas/custom/Vector3';
|
|
4
4
|
import { QuaternionType } from '../../schemas/custom/Quaternion';
|
|
5
|
-
/**
|
|
6
|
-
* @public
|
|
7
|
-
* Rotate a vector by a quaternion
|
|
8
|
-
* Uses the formula: v' = q * v * q^(-1), optimized version
|
|
9
|
-
*/
|
|
10
|
-
export declare function rotateVectorByQuaternion(v: Vector3Type, q: QuaternionType): Vector3Type;
|
|
11
5
|
/**
|
|
12
6
|
* Get an iterator of entities that follow a tree structure for a component
|
|
13
7
|
* @public
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getWorldRotation = exports.getWorldPosition = exports.getEntitiesWithParent = exports.removeEntityWithChildren = exports.getComponentEntityTree =
|
|
26
|
+
exports.getWorldRotation = exports.getWorldPosition = exports.getEntitiesWithParent = exports.removeEntityWithChildren = exports.getComponentEntityTree = void 0;
|
|
27
27
|
const components = __importStar(require("../../components"));
|
|
28
28
|
/**
|
|
29
29
|
* @internal
|
|
@@ -61,7 +61,7 @@ function multiplyQuaternions(q1, q2) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
* @
|
|
64
|
+
* @internal
|
|
65
65
|
* Rotate a vector by a quaternion
|
|
66
66
|
* Uses the formula: v' = q * v * q^(-1), optimized version
|
|
67
67
|
*/
|
|
@@ -80,7 +80,6 @@ function rotateVectorByQuaternion(v, q) {
|
|
|
80
80
|
z: iz * qw + iw * -qz + ix * -qy - iy * -qx
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
-
exports.rotateVectorByQuaternion = rotateVectorByQuaternion;
|
|
84
83
|
/** @internal Identity transform values */
|
|
85
84
|
const IDENTITY_POSITION = { x: 0, y: 0, z: 0 };
|
|
86
85
|
const IDENTITY_ROTATION = { x: 0, y: 0, z: 0, w: 1 };
|
|
@@ -12,7 +12,6 @@ import { AssetLoadLoadingStateSystem } from '../../systems/assetLoad';
|
|
|
12
12
|
import { TweenSystem } from '../../systems/tween';
|
|
13
13
|
import { TriggerAreaEventsSystem } from '../../systems/triggerArea';
|
|
14
14
|
import { createTimers, Timers } from '../helpers/timers';
|
|
15
|
-
import { PhysicsSystem } from '../../systems/physics';
|
|
16
15
|
/**
|
|
17
16
|
* @public
|
|
18
17
|
* The engine is the part of the scene that sits in the middle and manages all of the other parts.
|
|
@@ -78,12 +77,6 @@ export { TriggerAreaEventsSystem };
|
|
|
78
77
|
*/
|
|
79
78
|
export declare const timers: Timers;
|
|
80
79
|
export { Timers, createTimers };
|
|
81
|
-
/**
|
|
82
|
-
* @public
|
|
83
|
-
* Physics helpers for applying impulses and forces to the player.
|
|
84
|
-
*/
|
|
85
|
-
export declare const Physics: PhysicsSystem;
|
|
86
|
-
export { PhysicsSystem };
|
|
87
80
|
/**
|
|
88
81
|
* @public
|
|
89
82
|
* Runs an async function
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* init and it'll be changing.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.executeTask = exports.
|
|
7
|
+
exports.executeTask = exports.createTimers = exports.timers = exports.triggerAreaEventsSystem = exports.tweenSystem = exports.assetLoadLoadingStateSystem = exports.videoEventsSystem = exports.raycastSystem = exports.pointerEventsSystem = exports.inputSystem = exports.engine = void 0;
|
|
8
8
|
const engine_1 = require("../../engine");
|
|
9
9
|
const async_task_1 = require("../../systems/async-task");
|
|
10
10
|
const events_1 = require("../../systems/events");
|
|
@@ -18,7 +18,6 @@ const triggerArea_1 = require("../../systems/triggerArea");
|
|
|
18
18
|
const timers_1 = require("../helpers/timers");
|
|
19
19
|
Object.defineProperty(exports, "createTimers", { enumerable: true, get: function () { return timers_1.createTimers; } });
|
|
20
20
|
const globals_1 = require("../globals");
|
|
21
|
-
const physics_1 = require("../../systems/physics");
|
|
22
21
|
/**
|
|
23
22
|
* @public
|
|
24
23
|
* The engine is the part of the scene that sits in the middle and manages all of the other parts.
|
|
@@ -81,11 +80,6 @@ exports.timers = (0, timers_1.createTimers)(exports.engine);
|
|
|
81
80
|
(0, globals_1.setGlobalPolyfill)('clearTimeout', exports.timers.clearTimeout);
|
|
82
81
|
(0, globals_1.setGlobalPolyfill)('setInterval', exports.timers.setInterval);
|
|
83
82
|
(0, globals_1.setGlobalPolyfill)('clearInterval', exports.timers.clearInterval);
|
|
84
|
-
/**
|
|
85
|
-
* @public
|
|
86
|
-
* Physics helpers for applying impulses and forces to the player.
|
|
87
|
-
*/
|
|
88
|
-
exports.Physics = (0, physics_1.createPhysicsSystem)(exports.engine);
|
|
89
83
|
/**
|
|
90
84
|
* Adds pointer event collider system only in DEV env
|
|
91
85
|
*/
|
|
@@ -244,12 +244,6 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
|
|
|
244
244
|
const buffer = new ByteBuffer_1.ReadWriteByteBuffer();
|
|
245
245
|
// Then we send all the new crdtMessages that the transport needs to process
|
|
246
246
|
for (const message of crdtMessages) {
|
|
247
|
-
// Avoid echo messages
|
|
248
|
-
if (message.transportId === transportIndex)
|
|
249
|
-
continue;
|
|
250
|
-
// Redundant message for the transport
|
|
251
|
-
if (!transport.filter(message))
|
|
252
|
-
continue;
|
|
253
247
|
// Check if adding this message would exceed the size limit
|
|
254
248
|
const currentBufferSize = transportBuffer.toBinary().byteLength;
|
|
255
249
|
const messageSize = message.messageBuffer.byteLength;
|
|
@@ -266,6 +260,12 @@ function crdtSceneSystem(engine, onProcessEntityComponentChange) {
|
|
|
266
260
|
continue;
|
|
267
261
|
}
|
|
268
262
|
}
|
|
263
|
+
// Avoid echo messages
|
|
264
|
+
if (message.transportId === transportIndex)
|
|
265
|
+
continue;
|
|
266
|
+
// Redundant message for the transport
|
|
267
|
+
if (!transport.filter(message))
|
|
268
|
+
continue;
|
|
269
269
|
const { entityId } = findNetworkId(message);
|
|
270
270
|
const transformNeedsFix = 'componentId' in message &&
|
|
271
271
|
message.componentId === Transform.componentId &&
|
|
@@ -17,7 +17,12 @@ export type EventSystemOptions = {
|
|
|
17
17
|
showFeedback?: boolean;
|
|
18
18
|
showHighlight?: boolean;
|
|
19
19
|
maxPlayerDistance?: number;
|
|
20
|
-
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export type EventSystemOptionsCallback = EventSystemOptions & {
|
|
25
|
+
cb: EventSystemCallback;
|
|
21
26
|
};
|
|
22
27
|
export declare const getDefaultOpts: (opts?: Partial<EventSystemOptions>) => EventSystemOptions;
|
|
23
28
|
/**
|
|
@@ -50,33 +55,35 @@ export interface PointerEventsSystem {
|
|
|
50
55
|
removeOnPointerHoverLeave(entity: Entity): void;
|
|
51
56
|
/**
|
|
52
57
|
* @public
|
|
53
|
-
* Remove the callback for
|
|
58
|
+
* Remove the callback for onPointerDrag event
|
|
54
59
|
* @param entity - Entity where the callback was attached
|
|
55
60
|
*/
|
|
56
|
-
|
|
61
|
+
removeOnPointerDrag(entity: Entity): void;
|
|
57
62
|
/**
|
|
58
63
|
* @public
|
|
59
|
-
* Remove the callback for
|
|
64
|
+
* Remove the callback for onPointerDragLocked event
|
|
60
65
|
* @param entity - Entity where the callback was attached
|
|
61
66
|
*/
|
|
62
|
-
|
|
67
|
+
removeOnPointerDragLocked(entity: Entity): void;
|
|
63
68
|
/**
|
|
64
69
|
* @public
|
|
65
|
-
* Remove the callback for
|
|
70
|
+
* Remove the callback for onPointerDragEnd event
|
|
66
71
|
* @param entity - Entity where the callback was attached
|
|
67
72
|
*/
|
|
68
|
-
|
|
73
|
+
removeOnPointerDragEnd(entity: Entity): void;
|
|
69
74
|
/**
|
|
70
75
|
* @public
|
|
71
|
-
*
|
|
72
|
-
* @param
|
|
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
|
|
73
78
|
*/
|
|
74
|
-
|
|
79
|
+
onPointerDown(pointerData: {
|
|
80
|
+
entity: Entity;
|
|
81
|
+
optsList: EventSystemOptionsCallback[];
|
|
82
|
+
}): void;
|
|
75
83
|
/**
|
|
76
84
|
* @public
|
|
77
85
|
* Execute callback when the user press the InputButton pointing at the entity
|
|
78
86
|
* @param pointerData - Entity to attach the callback, Opts to trigger Feedback and Button
|
|
79
|
-
* @param cb - Function to execute when click fires
|
|
80
87
|
*/
|
|
81
88
|
onPointerDown(pointerData: {
|
|
82
89
|
entity: Entity;
|
|
@@ -89,6 +96,15 @@ export interface PointerEventsSystem {
|
|
|
89
96
|
* @param opts - Opts to trigger Feedback and Button
|
|
90
97
|
*/
|
|
91
98
|
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;
|
|
92
108
|
/**
|
|
93
109
|
* @public
|
|
94
110
|
* Execute callback when the user releases the InputButton pointing at the entity
|
|
@@ -128,41 +144,59 @@ export interface PointerEventsSystem {
|
|
|
128
144
|
}, cb: EventSystemCallback): void;
|
|
129
145
|
/**
|
|
130
146
|
* @public
|
|
131
|
-
* Execute
|
|
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
|
|
132
157
|
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
133
158
|
* @param cb - Function to execute when click fires
|
|
134
159
|
*/
|
|
135
|
-
|
|
160
|
+
onPointerDrag(pointerData: {
|
|
136
161
|
entity: Entity;
|
|
137
162
|
opts?: Partial<EventSystemOptions>;
|
|
138
163
|
}, cb: EventSystemCallback): void;
|
|
139
164
|
/**
|
|
140
165
|
* @public
|
|
141
|
-
* Execute
|
|
142
|
-
* @param pointerData - Entity to attach the
|
|
143
|
-
* @param cb - Function to execute when event fires
|
|
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
|
|
144
168
|
*/
|
|
145
|
-
|
|
169
|
+
onPointerDragLocked(pointerData: {
|
|
146
170
|
entity: Entity;
|
|
147
|
-
|
|
148
|
-
}
|
|
171
|
+
optsList: EventSystemOptionsCallback[];
|
|
172
|
+
}): void;
|
|
149
173
|
/**
|
|
150
174
|
* @public
|
|
151
|
-
* Execute callback when the
|
|
175
|
+
* Execute callback when the user clicks and drags the pointer from inside the entity,
|
|
176
|
+
* locking the cursor in place
|
|
152
177
|
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
153
|
-
* @param cb - Function to execute when
|
|
178
|
+
* @param cb - Function to execute when click fires
|
|
154
179
|
*/
|
|
155
|
-
|
|
180
|
+
onPointerDragLocked(pointerData: {
|
|
156
181
|
entity: Entity;
|
|
157
182
|
opts?: Partial<EventSystemOptions>;
|
|
158
183
|
}, cb: EventSystemCallback): void;
|
|
159
184
|
/**
|
|
160
185
|
* @public
|
|
161
|
-
* Execute
|
|
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
|
|
162
196
|
* @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
|
|
163
|
-
* @param cb - Function to execute when
|
|
197
|
+
* @param cb - Function to execute when click fires
|
|
164
198
|
*/
|
|
165
|
-
|
|
199
|
+
onPointerDragEnd(pointerData: {
|
|
166
200
|
entity: Entity;
|
|
167
201
|
opts?: Partial<EventSystemOptions>;
|
|
168
202
|
}, cb: EventSystemCallback): void;
|
|
@@ -45,14 +45,15 @@ function createPointerEventsSystem(engine, inputSystem) {
|
|
|
45
45
|
EventType[EventType["Up"] = 2] = "Up";
|
|
46
46
|
EventType[EventType["HoverEnter"] = 3] = "HoverEnter";
|
|
47
47
|
EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
|
|
48
|
-
EventType[EventType["
|
|
49
|
-
EventType[EventType["
|
|
48
|
+
EventType[EventType["Drag"] = 5] = "Drag";
|
|
49
|
+
EventType[EventType["DragLocked"] = 6] = "DragLocked";
|
|
50
|
+
EventType[EventType["DragEnd"] = 7] = "DragEnd";
|
|
50
51
|
})(EventType || (EventType = {}));
|
|
51
52
|
const eventsMap = new Map();
|
|
52
53
|
function getEvent(entity) {
|
|
53
54
|
return eventsMap.get(entity) || eventsMap.set(entity, new Map()).get(entity);
|
|
54
55
|
}
|
|
55
|
-
function setPointerEvent(entity, type, opts
|
|
56
|
+
function setPointerEvent(entity, type, opts) {
|
|
56
57
|
const pointerEvent = PointerEvents.getMutableOrNull(entity) || PointerEvents.create(entity);
|
|
57
58
|
pointerEvent.pointerEvents.push({
|
|
58
59
|
eventType: type,
|
|
@@ -62,19 +63,15 @@ function createPointerEventsSystem(engine, inputSystem) {
|
|
|
62
63
|
showHighlight: opts.showHighlight,
|
|
63
64
|
hoverText: opts.hoverText,
|
|
64
65
|
maxDistance: opts.maxDistance,
|
|
65
|
-
maxPlayerDistance: opts.maxPlayerDistance
|
|
66
|
-
|
|
67
|
-
},
|
|
68
|
-
interactionType: interactionType ?? 0 /* InteractionType.CURSOR */
|
|
66
|
+
maxPlayerDistance: opts.maxPlayerDistance
|
|
67
|
+
}
|
|
69
68
|
});
|
|
70
69
|
}
|
|
71
|
-
function removePointerEvent(entity, type, button
|
|
70
|
+
function removePointerEvent(entity, type, button) {
|
|
72
71
|
const pointerEvent = PointerEvents.getMutableOrNull(entity);
|
|
73
72
|
if (!pointerEvent)
|
|
74
73
|
return;
|
|
75
|
-
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button &&
|
|
76
|
-
pointer.eventType === type &&
|
|
77
|
-
pointer.interactionType === interactionType));
|
|
74
|
+
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button && pointer.eventType === type));
|
|
78
75
|
}
|
|
79
76
|
function getPointerEvent(eventType) {
|
|
80
77
|
if (eventType === EventType.Up) {
|
|
@@ -86,117 +83,148 @@ function createPointerEventsSystem(engine, inputSystem) {
|
|
|
86
83
|
else if (eventType === EventType.HoverEnter) {
|
|
87
84
|
return 2 /* PointerEventType.PET_HOVER_ENTER */;
|
|
88
85
|
}
|
|
89
|
-
else if (eventType === EventType.
|
|
90
|
-
return
|
|
86
|
+
else if (eventType === EventType.Drag) {
|
|
87
|
+
return 7 /* PointerEventType.PET_DRAG */;
|
|
88
|
+
}
|
|
89
|
+
else if (eventType === EventType.DragLocked) {
|
|
90
|
+
return 6 /* PointerEventType.PET_DRAG_LOCKED */;
|
|
91
91
|
}
|
|
92
|
-
else if (eventType === EventType.
|
|
93
|
-
return
|
|
92
|
+
else if (eventType === EventType.DragEnd) {
|
|
93
|
+
return 8 /* PointerEventType.PET_DRAG_END */;
|
|
94
94
|
}
|
|
95
95
|
return 1 /* PointerEventType.PET_DOWN */;
|
|
96
96
|
}
|
|
97
|
-
function
|
|
97
|
+
function getEventType(pet) {
|
|
98
|
+
if (pet === 0 /* PointerEventType.PET_UP */) {
|
|
99
|
+
return EventType.Up;
|
|
100
|
+
}
|
|
101
|
+
else if (pet === 2 /* PointerEventType.PET_HOVER_ENTER */) {
|
|
102
|
+
return EventType.HoverEnter;
|
|
103
|
+
}
|
|
104
|
+
else if (pet === 3 /* PointerEventType.PET_HOVER_LEAVE */) {
|
|
105
|
+
return EventType.HoverLeave;
|
|
106
|
+
}
|
|
107
|
+
else if (pet === 7 /* PointerEventType.PET_DRAG */) {
|
|
108
|
+
return EventType.Drag;
|
|
109
|
+
}
|
|
110
|
+
else if (pet === 6 /* PointerEventType.PET_DRAG_LOCKED */) {
|
|
111
|
+
return EventType.DragLocked;
|
|
112
|
+
}
|
|
113
|
+
else if (pet === 8 /* PointerEventType.PET_DRAG_END */) {
|
|
114
|
+
return EventType.DragEnd;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return EventType.Down;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function removeEvent(entity, type) {
|
|
98
121
|
const event = getEvent(entity);
|
|
99
|
-
const
|
|
100
|
-
if (
|
|
101
|
-
|
|
122
|
+
const pointerEventList = event.get(type);
|
|
123
|
+
if (pointerEventList === undefined) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
for (const button of pointerEventList.keys()) {
|
|
127
|
+
removePointerEvent(entity, getPointerEvent(type), button);
|
|
102
128
|
}
|
|
103
129
|
event.delete(type);
|
|
104
130
|
}
|
|
105
131
|
engine.addSystem(function EventSystem() {
|
|
106
|
-
|
|
132
|
+
if (eventsMap.size === 0) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
for (const entity of eventsMap.keys()) {
|
|
107
136
|
if (engine.getEntityState(entity) === entity_1.EntityState.Removed) {
|
|
108
137
|
eventsMap.delete(entity);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
for (const command of inputSystem.getInputCommands()) {
|
|
141
|
+
const entity = command.hit?.entityId;
|
|
142
|
+
if (entity === undefined) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const entityMap = eventsMap.get(entity);
|
|
146
|
+
if (entityMap === undefined) {
|
|
109
147
|
continue;
|
|
110
148
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
149
|
+
const typeMap = entityMap.get(getEventType(command.state));
|
|
150
|
+
if (typeMap) {
|
|
151
|
+
const data = typeMap.get(command.button);
|
|
152
|
+
if (data) {
|
|
153
|
+
(0, invariant_1.checkNotThenable)(data.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
116
154
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
155
|
+
const anyData = typeMap.get(3 /* InputAction.IA_ANY */);
|
|
156
|
+
if (anyData) {
|
|
157
|
+
(0, invariant_1.checkNotThenable)(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// check clicks separately
|
|
161
|
+
if (command.state === 0 /* PointerEventType.PET_UP */) {
|
|
162
|
+
const clickMap = entityMap.get(EventType.Click);
|
|
163
|
+
if (clickMap) {
|
|
164
|
+
const data = clickMap.get(command.button);
|
|
165
|
+
if (data && inputSystem.getClick(command.button, entity)) {
|
|
166
|
+
(0, invariant_1.checkNotThenable)(data.cb(command), 'Click event returned a thenable. Only synchronous functions are allowed');
|
|
167
|
+
}
|
|
168
|
+
const anyData = clickMap.get(3 /* InputAction.IA_ANY */);
|
|
169
|
+
if (anyData && inputSystem.getClick(command.button, entity)) {
|
|
170
|
+
(0, invariant_1.checkNotThenable)(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
126
171
|
}
|
|
127
172
|
}
|
|
128
173
|
}
|
|
129
174
|
}
|
|
130
175
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options, 1 /* InteractionType.PROXIMITY */);
|
|
184
|
-
};
|
|
185
|
-
const onProximityEnter = (...args) => {
|
|
186
|
-
const [data, cb] = args;
|
|
187
|
-
const { entity, opts } = data;
|
|
188
|
-
const options = (0, exports.getDefaultOpts)(opts);
|
|
189
|
-
removeEvent(entity, EventType.ProximityEnter, 1 /* InteractionType.PROXIMITY */);
|
|
190
|
-
getEvent(entity).set(EventType.ProximityEnter, { cb, opts: options });
|
|
191
|
-
setPointerEvent(entity, 4 /* PointerEventType.PET_PROXIMITY_ENTER */, options, 1 /* InteractionType.PROXIMITY */);
|
|
192
|
-
};
|
|
193
|
-
const onProximityLeave = (...args) => {
|
|
194
|
-
const [data, cb] = args;
|
|
195
|
-
const { entity, opts } = data;
|
|
196
|
-
const options = (0, exports.getDefaultOpts)(opts);
|
|
197
|
-
removeEvent(entity, EventType.ProximityLeave, 1 /* InteractionType.PROXIMITY */);
|
|
198
|
-
getEvent(entity).set(EventType.ProximityLeave, { cb, opts: options });
|
|
199
|
-
setPointerEvent(entity, 5 /* PointerEventType.PET_PROXIMITY_LEAVE */, options, 1 /* InteractionType.PROXIMITY */);
|
|
176
|
+
// return a function with the correct event type.
|
|
177
|
+
// we use onPointerDown as the "archetype" for the returned function, but it fits with
|
|
178
|
+
// all the onPointer* declarations
|
|
179
|
+
const onPointerFunction = (ty) => {
|
|
180
|
+
return (arg0, arg1, arg2) => {
|
|
181
|
+
let entity;
|
|
182
|
+
let optsList;
|
|
183
|
+
if (typeof arg0 === 'number') {
|
|
184
|
+
// called as onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void
|
|
185
|
+
entity = arg0;
|
|
186
|
+
const cb = arg1;
|
|
187
|
+
const opts = arg2;
|
|
188
|
+
optsList = [{ cb, ...(0, exports.getDefaultOpts)(opts) }];
|
|
189
|
+
}
|
|
190
|
+
else if (typeof arg1 === 'function') {
|
|
191
|
+
// called as onPointerDown(pointerData: { entity: Entity; opts?: Partial<EventSystemOptions> }, cb: EventSystemCallback): void
|
|
192
|
+
const { entity: e, opts } = arg0;
|
|
193
|
+
const cb = arg1;
|
|
194
|
+
entity = e;
|
|
195
|
+
optsList = [{ cb, ...(0, exports.getDefaultOpts)(opts) }];
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
// called as onPointerDown(pointerData: { entity: Entity; optsList: EventSystemOptionsCallback[] }): void
|
|
199
|
+
const { entity: e, optsList: o } = arg0;
|
|
200
|
+
entity = e;
|
|
201
|
+
optsList = o;
|
|
202
|
+
}
|
|
203
|
+
const previous = getEvent(entity).get(ty) ?? new Map();
|
|
204
|
+
const callbacks = new Map();
|
|
205
|
+
for (const opts of optsList) {
|
|
206
|
+
const prevOpts = previous.get(opts.button);
|
|
207
|
+
if (prevOpts !== undefined) {
|
|
208
|
+
if (prevOpts.hoverText !== opts.hoverText ||
|
|
209
|
+
prevOpts.maxDistance !== opts.maxDistance ||
|
|
210
|
+
prevOpts.showFeedback !== opts.showFeedback ||
|
|
211
|
+
prevOpts.showHighlight !== opts.showHighlight) {
|
|
212
|
+
removePointerEvent(entity, getPointerEvent(ty), opts.button);
|
|
213
|
+
setPointerEvent(entity, getPointerEvent(ty), opts);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
setPointerEvent(entity, getPointerEvent(ty), opts);
|
|
218
|
+
}
|
|
219
|
+
callbacks.set(opts.button, opts);
|
|
220
|
+
}
|
|
221
|
+
for (const button of previous.keys()) {
|
|
222
|
+
if (!callbacks.has(button)) {
|
|
223
|
+
removePointerEvent(entity, getPointerEvent(ty), button);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
getEvent(entity).set(ty, callbacks);
|
|
227
|
+
};
|
|
200
228
|
};
|
|
201
229
|
return {
|
|
202
230
|
removeOnClick(entity) {
|
|
@@ -214,35 +242,23 @@ function createPointerEventsSystem(engine, inputSystem) {
|
|
|
214
242
|
removeOnPointerHoverLeave(entity) {
|
|
215
243
|
removeEvent(entity, EventType.HoverLeave);
|
|
216
244
|
},
|
|
217
|
-
|
|
218
|
-
removeEvent(entity, EventType.
|
|
219
|
-
},
|
|
220
|
-
removeOnProximityUp(entity) {
|
|
221
|
-
removeEvent(entity, EventType.Up, 1 /* InteractionType.PROXIMITY */);
|
|
245
|
+
removeOnPointerDrag(entity) {
|
|
246
|
+
removeEvent(entity, EventType.Drag);
|
|
222
247
|
},
|
|
223
|
-
|
|
224
|
-
removeEvent(entity, EventType.
|
|
248
|
+
removeOnPointerDragLocked(entity) {
|
|
249
|
+
removeEvent(entity, EventType.DragLocked);
|
|
225
250
|
},
|
|
226
|
-
|
|
227
|
-
removeEvent(entity, EventType.
|
|
228
|
-
},
|
|
229
|
-
onClick(value, cb) {
|
|
230
|
-
const { entity } = value;
|
|
231
|
-
const options = (0, exports.getDefaultOpts)(value.opts);
|
|
232
|
-
// Clear previous event with over feedback included
|
|
233
|
-
removeEvent(entity, EventType.Click);
|
|
234
|
-
// Set new event
|
|
235
|
-
getEvent(entity).set(EventType.Click, { cb, opts: options });
|
|
236
|
-
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
|
|
251
|
+
removeOnPointerDragEnd(entity) {
|
|
252
|
+
removeEvent(entity, EventType.DragEnd);
|
|
237
253
|
},
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
onClick: onPointerFunction(EventType.Click),
|
|
255
|
+
onPointerDown: onPointerFunction(EventType.Down),
|
|
256
|
+
onPointerUp: onPointerFunction(EventType.Up),
|
|
257
|
+
onPointerHoverEnter: onPointerFunction(EventType.HoverEnter),
|
|
258
|
+
onPointerHoverLeave: onPointerFunction(EventType.HoverLeave),
|
|
259
|
+
onPointerDrag: onPointerFunction(EventType.Drag),
|
|
260
|
+
onPointerDragLocked: onPointerFunction(EventType.DragLocked),
|
|
261
|
+
onPointerDragEnd: onPointerFunction(EventType.DragEnd)
|
|
246
262
|
};
|
|
247
263
|
}
|
|
248
264
|
exports.createPointerEventsSystem = createPointerEventsSystem;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RaycastQueryType, PBRaycastResult } from '../components';
|
|
1
|
+
import { RaycastQueryType, RaycastShape, 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,6 +14,8 @@ 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;
|
|
17
19
|
};
|
|
18
20
|
export type LocalDirectionRaycastSystemOptions = {
|
|
19
21
|
direction?: Vector3;
|
|
@@ -84,6 +84,8 @@ function createRaycastSystem(engine) {
|
|
|
84
84
|
raycast.direction = raycastValue.directionRawValue;
|
|
85
85
|
raycast.continuous = raycastValue.continuous;
|
|
86
86
|
raycast.queryType = raycastValue.queryType;
|
|
87
|
+
raycast.shape = raycastValue.shape;
|
|
88
|
+
raycast.includeWorld = raycastValue.includeWorld;
|
|
87
89
|
entitiesCallbackResultMap.set(entity, { callback: callback });
|
|
88
90
|
};
|
|
89
91
|
nextTickRaycasts.push(onNextTick);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/ecs",
|
|
3
3
|
"description": "Decentraland ECS",
|
|
4
|
-
"version": "7.22.
|
|
4
|
+
"version": "7.22.6-25007982108.commit-83012ab",
|
|
5
5
|
"author": "DCL",
|
|
6
6
|
"bugs": "https://github.com/decentraland/ecs/issues",
|
|
7
7
|
"files": [
|
|
@@ -31,8 +31,7 @@
|
|
|
31
31
|
"displayName": "ECS",
|
|
32
32
|
"tsconfig": "./tsconfig.json"
|
|
33
33
|
},
|
|
34
|
-
"dependencies": {},
|
|
35
34
|
"types": "./dist/index.d.ts",
|
|
36
35
|
"typings": "./dist/index.d.ts",
|
|
37
|
-
"commit": "
|
|
36
|
+
"commit": "83012ab4c851bdd7da6c424a20094149b7707019"
|
|
38
37
|
}
|