@dcl/ecs 7.24.5-28985931443.commit-4a0bcfc → 7.24.5-29247185020.commit-e92dfe6
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/AudioSource.d.ts +3 -5
- package/dist/components/extended/AudioSource.js +7 -7
- 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/TriggerArea.d.ts +2 -2
- package/dist/components/extended/Tween.d.ts +1 -48
- package/dist/components/extended/Tween.js +0 -66
- 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/{AudioAnalysis.gen.js → TextureCamera.gen.js} +7 -7
- 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 +10 -1
- package/dist/components/generated/global.gen.d.ts +20 -2
- package/dist/components/generated/global.gen.js +10 -1
- package/dist/components/generated/index.gen.d.ts +40 -4
- package/dist/components/generated/index.gen.js +50 -5
- 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 +0 -6
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -3
- 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 -8
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -9
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
- package/dist/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
- 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 +4 -2
- package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
- 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 +22 -3
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +58 -3
- 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_canvas_information.gen.d.ts +0 -8
- package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
- package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -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/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
- package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
- package/dist/components/generated/pb/google/protobuf/descriptor.gen.d.ts +1 -640
- package/dist/components/generated/pb/google/protobuf/descriptor.gen.js +4 -260
- 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 -13
- package/dist/components/index.js +11 -11
- package/dist/components/manual/Transform.d.ts +0 -13
- package/dist/components/manual/Transform.js +0 -8
- package/dist/components/types.d.ts +3 -3
- package/dist/composite/index.d.ts +5 -8
- package/dist/composite/index.js +5 -8
- package/dist/composite/instance.d.ts +0 -5
- package/dist/composite/instance.js +25 -34
- package/dist/engine/entity.js +2 -4
- package/dist/engine/grow-only-value-set-component-definition.js +1 -1
- package/dist/engine/index.js +1 -2
- package/dist/engine/input.d.ts +6 -0
- package/dist/engine/input.js +10 -6
- 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 -5
- package/dist/index.js +1 -5
- package/dist/runtime/globals.d.ts +2 -1
- package/dist/runtime/globals.js +2 -1
- package/dist/runtime/helpers/coordinates.js +14 -37
- package/dist/runtime/helpers/index.d.ts +0 -1
- package/dist/runtime/helpers/index.js +0 -1
- package/dist/runtime/helpers/timers.js +20 -32
- 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/systems/triggerArea.d.ts +0 -5
- package/dist/systems/triggerArea.js +42 -128
- package/dist-cjs/components/extended/AudioSource.d.ts +3 -5
- package/dist-cjs/components/extended/AudioSource.js +7 -7
- 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/TriggerArea.d.ts +2 -2
- package/dist-cjs/components/extended/Tween.d.ts +1 -48
- package/dist-cjs/components/extended/Tween.js +0 -66
- 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.js +28 -0
- package/dist-cjs/components/generated/GlobalLight.gen.js +28 -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/{AudioAnalysis.gen.js → TextureCamera.gen.js} +8 -8
- 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 +10 -1
- package/dist-cjs/components/generated/global.gen.d.ts +20 -2
- package/dist-cjs/components/generated/global.gen.js +12 -3
- package/dist-cjs/components/generated/index.gen.d.ts +40 -4
- package/dist-cjs/components/generated/index.gen.js +62 -8
- 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 +0 -6
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_locomotion_settings.gen.js +0 -30
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -4
- 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 -8
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +11 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +2 -9
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +1 -10
- 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 +4 -2
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -1
- 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 +22 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +59 -4
- 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_canvas_information.gen.d.ts +0 -8
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +1 -10
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -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/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +1 -640
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +5 -261
- 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 -13
- package/dist-cjs/components/index.js +15 -15
- 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 -3
- package/dist-cjs/composite/index.d.ts +5 -8
- package/dist-cjs/composite/index.js +6 -11
- package/dist-cjs/composite/instance.d.ts +0 -5
- package/dist-cjs/composite/instance.js +25 -34
- 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/index.js +1 -2
- package/dist-cjs/engine/input.d.ts +6 -0
- package/dist-cjs/engine/input.js +10 -6
- 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 -5
- package/dist-cjs/index.js +2 -6
- package/dist-cjs/runtime/globals.d.ts +2 -1
- package/dist-cjs/runtime/globals.js +2 -1
- package/dist-cjs/runtime/helpers/coordinates.js +14 -37
- package/dist-cjs/runtime/helpers/index.d.ts +0 -1
- package/dist-cjs/runtime/helpers/index.js +0 -1
- package/dist-cjs/runtime/helpers/timers.js +20 -32
- 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/dist-cjs/systems/triggerArea.d.ts +0 -5
- package/dist-cjs/systems/triggerArea.js +42 -128
- package/package.json +2 -3
- package/dist/components/extended/AudioAnalysis.d.ts +0 -55
- package/dist/components/extended/AudioAnalysis.js +0 -66
- package/dist/components/extended/ParticleSystem.d.ts +0 -24
- package/dist/components/extended/ParticleSystem.js +0 -23
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
- package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -161
- package/dist/composite/provider-registry.d.ts +0 -15
- package/dist/composite/provider-registry.js +0 -32
- 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/AudioAnalysis.d.ts +0 -55
- package/dist-cjs/components/extended/AudioAnalysis.js +0 -70
- package/dist-cjs/components/extended/ParticleSystem.d.ts +0 -24
- package/dist-cjs/components/extended/ParticleSystem.js +0 -28
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -167
- package/dist-cjs/composite/provider-registry.d.ts +0 -15
- package/dist-cjs/composite/provider-registry.js +0 -37
- 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/components/generated/{AudioAnalysis.gen.d.ts → AvatarMovement.gen.d.ts} +0 -0
- /package/dist-cjs/{runtime/helpers/vectors.d.ts → components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
- /package/dist-cjs/{systems/physics-force.d.ts → components/generated/CameraLayer.gen.d.ts} +0 -0
- /package/{dist/components/generated/AudioAnalysis.gen.d.ts → dist-cjs/components/generated/CameraLayers.gen.d.ts} +0 -0
- /package/{dist/runtime/helpers/vectors.d.ts → dist-cjs/components/generated/GlobalLight.gen.d.ts} +0 -0
- /package/{dist/systems/physics-force.d.ts → dist-cjs/components/generated/GltfNode.gen.d.ts} +0 -0
|
@@ -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);
|
|
@@ -26,11 +26,6 @@ export interface TriggerAreaEventsSystem {
|
|
|
26
26
|
* Execute callback when an entity stays in the Trigger Area
|
|
27
27
|
* @param entity - The entity that already has the TriggerArea component
|
|
28
28
|
* @param cb - Function to execute the 'Stay' type of result is detected
|
|
29
|
-
*
|
|
30
|
-
* Note: stay callbacks are synthesized by the SDK on every tick between a wire ENTER and a wire EXIT.
|
|
31
|
-
* Wire-level TAET_STAY events (still emitted by legacy Explorers) are ignored entirely — they neither
|
|
32
|
-
* fire callbacks nor mutate state. The SDK is the sole source of onTriggerStay dispatches, driven
|
|
33
|
-
* from the ENTER/EXIT state machine.
|
|
34
29
|
*/
|
|
35
30
|
onTriggerStay(entity: Entity, cb: TriggerAreaEventSystemCallback): void;
|
|
36
31
|
/**
|
|
@@ -26,58 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.createTriggerAreaEventsSystem = void 0;
|
|
27
27
|
const components = __importStar(require("../components"));
|
|
28
28
|
const entity_1 = require("../engine/entity");
|
|
29
|
-
/**
|
|
30
|
-
* Builds a synthetic PBTriggerAreaResult for a per-tick onStay callback.
|
|
31
|
-
*
|
|
32
|
-
* Transform components are resolved at call time so that scene-owned entities report
|
|
33
|
-
* up-to-date position/rotation/scale. For player-avatar triggerers (reserved entities
|
|
34
|
-
* without a scene-side Transform), there is no scene Transform component, so the cached
|
|
35
|
-
* values from the last ENTER or wire-STAY event are used as-is. These cached values may
|
|
36
|
-
* be slightly stale for the current frame — this is expected and acceptable for the
|
|
37
|
-
* avatar case.
|
|
38
|
-
*/
|
|
39
|
-
function buildSyntheticStayResult(cached, triggerAreaEntity, triggererEntity, currentTimestamp, Transform) {
|
|
40
|
-
// Shallow-clone the trigger sub-object so we can mutate it.
|
|
41
|
-
const trigger = cached.trigger
|
|
42
|
-
? {
|
|
43
|
-
entity: cached.trigger.entity,
|
|
44
|
-
layers: cached.trigger.layers,
|
|
45
|
-
position: cached.trigger.position ? { ...cached.trigger.position } : undefined,
|
|
46
|
-
rotation: cached.trigger.rotation ? { ...cached.trigger.rotation } : undefined,
|
|
47
|
-
scale: cached.trigger.scale ? { ...cached.trigger.scale } : undefined
|
|
48
|
-
}
|
|
49
|
-
: undefined;
|
|
50
|
-
// Build the cloned result with a forced TAET_STAY eventType and refreshed timestamp.
|
|
51
|
-
const result = {
|
|
52
|
-
triggeredEntity: cached.triggeredEntity,
|
|
53
|
-
triggeredEntityPosition: cached.triggeredEntityPosition ? { ...cached.triggeredEntityPosition } : undefined,
|
|
54
|
-
triggeredEntityRotation: cached.triggeredEntityRotation ? { ...cached.triggeredEntityRotation } : undefined,
|
|
55
|
-
eventType: 1 /* TriggerAreaEventType.TAET_STAY */,
|
|
56
|
-
timestamp: currentTimestamp,
|
|
57
|
-
trigger
|
|
58
|
-
};
|
|
59
|
-
// Refresh trigger-area entity transform when it is scene-owned.
|
|
60
|
-
const triggerAreaTransform = Transform.getOrNull(triggerAreaEntity);
|
|
61
|
-
if (triggerAreaTransform !== null) {
|
|
62
|
-
result.triggeredEntityPosition = { ...triggerAreaTransform.position };
|
|
63
|
-
result.triggeredEntityRotation = { ...triggerAreaTransform.rotation };
|
|
64
|
-
}
|
|
65
|
-
// Refresh triggerer transform when it is scene-owned.
|
|
66
|
-
// For player-avatar entities (reserved, no scene-side Transform) the cached values are kept.
|
|
67
|
-
const triggererTransform = Transform.getOrNull(triggererEntity);
|
|
68
|
-
if (triggererTransform !== null && result.trigger) {
|
|
69
|
-
result.trigger.position = { ...triggererTransform.position };
|
|
70
|
-
result.trigger.rotation = { ...triggererTransform.rotation };
|
|
71
|
-
result.trigger.scale = { ...triggererTransform.scale };
|
|
72
|
-
}
|
|
73
|
-
return result;
|
|
74
|
-
}
|
|
75
29
|
/**
|
|
76
30
|
* @internal
|
|
77
31
|
*/
|
|
78
32
|
function createTriggerAreaEventsSystem(engine) {
|
|
79
33
|
const triggerAreaResultComponent = components.TriggerAreaResult(engine);
|
|
80
|
-
const Transform = components.Transform(engine);
|
|
81
34
|
const entitiesMap = new Map();
|
|
82
35
|
function hasCallbacksMap(entity) {
|
|
83
36
|
return entitiesMap.has(entity) && entitiesMap.get(entity) !== undefined;
|
|
@@ -89,8 +42,7 @@ function createTriggerAreaEventsSystem(engine) {
|
|
|
89
42
|
else {
|
|
90
43
|
entitiesMap.set(entity, {
|
|
91
44
|
triggerCallbackMap: new Map([[triggerType, callback]]),
|
|
92
|
-
lastConsumedTimestamp: -1
|
|
93
|
-
insideTriggerers: new Map()
|
|
45
|
+
lastConsumedTimestamp: -1
|
|
94
46
|
});
|
|
95
47
|
}
|
|
96
48
|
}
|
|
@@ -99,9 +51,7 @@ function createTriggerAreaEventsSystem(engine) {
|
|
|
99
51
|
return;
|
|
100
52
|
const triggerCallbackMap = entitiesMap.get(entity).triggerCallbackMap;
|
|
101
53
|
triggerCallbackMap.delete(triggerType);
|
|
102
|
-
// Remove entity if no more trigger callbacks are registered
|
|
103
|
-
// insideTriggerers is intentionally left populated so that re-subscription picks up
|
|
104
|
-
// in-flight sessions without missing the first synthesized onStay.
|
|
54
|
+
// Remove entity if no more trigger callbacks are registered
|
|
105
55
|
if (triggerCallbackMap.size === 0)
|
|
106
56
|
entitiesMap.delete(entity);
|
|
107
57
|
}
|
|
@@ -131,87 +81,51 @@ function createTriggerAreaEventsSystem(engine) {
|
|
|
131
81
|
continue;
|
|
132
82
|
}
|
|
133
83
|
const result = triggerAreaResultComponent.get(entity);
|
|
134
|
-
//
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (newestTimestamp > data.lastConsumedTimestamp) {
|
|
147
|
-
// Find index of value with the lastConsumedTimestamp.
|
|
148
|
-
let i = values.length - 2;
|
|
149
|
-
while (i >= 0 && values[i].timestamp > data.lastConsumedTimestamp)
|
|
150
|
-
i--;
|
|
151
|
-
// Mark the following value index as the starting point to trigger all the new value callbacks.
|
|
152
|
-
startIndex = i + 1;
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
// No new events — skip to Pass 2.
|
|
156
|
-
startIndex = values.length;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
if (startIndex < values.length) {
|
|
160
|
-
// Process new wire events in chronological order.
|
|
161
|
-
for (let i = startIndex; i < values.length; i++) {
|
|
162
|
-
const event = values[i];
|
|
163
|
-
switch (event.eventType) {
|
|
164
|
-
case 0 /* TriggerAreaEventType.TAET_ENTER */:
|
|
165
|
-
// Update in-flight tracking before firing the callback.
|
|
166
|
-
data.insideTriggerers.set(event.trigger.entity, {
|
|
167
|
-
triggeredEntity: event.triggeredEntity,
|
|
168
|
-
triggeredEntityPosition: event.triggeredEntityPosition
|
|
169
|
-
? { ...event.triggeredEntityPosition }
|
|
170
|
-
: undefined,
|
|
171
|
-
triggeredEntityRotation: event.triggeredEntityRotation
|
|
172
|
-
? { ...event.triggeredEntityRotation }
|
|
173
|
-
: undefined,
|
|
174
|
-
eventType: event.eventType,
|
|
175
|
-
timestamp: event.timestamp,
|
|
176
|
-
trigger: event.trigger
|
|
177
|
-
? {
|
|
178
|
-
entity: event.trigger.entity,
|
|
179
|
-
layers: event.trigger.layers,
|
|
180
|
-
position: event.trigger.position ? { ...event.trigger.position } : undefined,
|
|
181
|
-
rotation: event.trigger.rotation ? { ...event.trigger.rotation } : undefined,
|
|
182
|
-
scale: event.trigger.scale ? { ...event.trigger.scale } : undefined
|
|
183
|
-
}
|
|
184
|
-
: undefined
|
|
185
|
-
});
|
|
186
|
-
if (data.triggerCallbackMap.has(0 /* TriggerAreaEventType.TAET_ENTER */)) {
|
|
187
|
-
data.triggerCallbackMap.get(0 /* TriggerAreaEventType.TAET_ENTER */)(event);
|
|
188
|
-
}
|
|
189
|
-
break;
|
|
190
|
-
case 2 /* TriggerAreaEventType.TAET_EXIT */:
|
|
191
|
-
data.insideTriggerers.delete(event.trigger.entity);
|
|
192
|
-
if (data.triggerCallbackMap.has(2 /* TriggerAreaEventType.TAET_EXIT */)) {
|
|
193
|
-
data.triggerCallbackMap.get(2 /* TriggerAreaEventType.TAET_EXIT */)(event);
|
|
194
|
-
}
|
|
195
|
-
break;
|
|
196
|
-
// Wire-level TAET_STAY and any unknown event types are ignored — no callback, no state mutation.
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
data.lastConsumedTimestamp = values[values.length - 1].timestamp;
|
|
84
|
+
// The Explorer may be taking time before the result component is put
|
|
85
|
+
if (result.size === 0)
|
|
86
|
+
continue;
|
|
87
|
+
const values = Array.from(result.values());
|
|
88
|
+
// determine starting index for new values (more than one could be added between System updates)
|
|
89
|
+
// search backwards to find the anchor at lastConsumedTimestamp
|
|
90
|
+
let startIndex = 0;
|
|
91
|
+
if (data.lastConsumedTimestamp >= 0) {
|
|
92
|
+
const newestTimestamp = values[values.length - 1].timestamp;
|
|
93
|
+
// if nothing new, skip processing
|
|
94
|
+
if (newestTimestamp <= data.lastConsumedTimestamp) {
|
|
95
|
+
continue;
|
|
200
96
|
}
|
|
97
|
+
// Find index of value with the lastConsumedTimestamp
|
|
98
|
+
let i = values.length - 2;
|
|
99
|
+
while (i >= 0 && values[i].timestamp > data.lastConsumedTimestamp)
|
|
100
|
+
i--;
|
|
101
|
+
// Mark the following value index as the starting point to trigger all the new value callbacks
|
|
102
|
+
startIndex = i + 1;
|
|
201
103
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
//
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
104
|
+
if (startIndex >= values.length)
|
|
105
|
+
continue;
|
|
106
|
+
// Trigger callbacks for all the new values
|
|
107
|
+
for (let i = startIndex; i < values.length; i++) {
|
|
108
|
+
switch (values[i].eventType) {
|
|
109
|
+
case 0 /* TriggerAreaEventType.TAET_ENTER */:
|
|
110
|
+
if (!data.triggerCallbackMap.has(0 /* TriggerAreaEventType.TAET_ENTER */))
|
|
111
|
+
continue;
|
|
112
|
+
data.triggerCallbackMap.get(0 /* TriggerAreaEventType.TAET_ENTER */)(values[i]);
|
|
113
|
+
break;
|
|
114
|
+
case 1 /* TriggerAreaEventType.TAET_STAY */:
|
|
115
|
+
if (!data.triggerCallbackMap.has(1 /* TriggerAreaEventType.TAET_STAY */))
|
|
116
|
+
continue;
|
|
117
|
+
data.triggerCallbackMap.get(1 /* TriggerAreaEventType.TAET_STAY */)(values[i]);
|
|
118
|
+
break;
|
|
119
|
+
case 2 /* TriggerAreaEventType.TAET_EXIT */:
|
|
120
|
+
if (!data.triggerCallbackMap.has(2 /* TriggerAreaEventType.TAET_EXIT */))
|
|
121
|
+
continue;
|
|
122
|
+
data.triggerCallbackMap.get(2 /* TriggerAreaEventType.TAET_EXIT */)(values[i]);
|
|
123
|
+
break;
|
|
211
124
|
}
|
|
212
125
|
}
|
|
126
|
+
data.lastConsumedTimestamp = values[values.length - 1].timestamp;
|
|
213
127
|
}
|
|
214
|
-
// Clean up garbage entries
|
|
128
|
+
// Clean up garbage entries
|
|
215
129
|
garbageEntries.forEach((garbageEntity) => entitiesMap.delete(garbageEntity));
|
|
216
130
|
});
|
|
217
131
|
return {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/ecs",
|
|
3
3
|
"description": "Decentraland ECS",
|
|
4
|
-
"version": "7.24.5-
|
|
4
|
+
"version": "7.24.5-29247185020.commit-e92dfe6",
|
|
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": "e92dfe6298e3d808e58add843780cdbe7eb5af7d"
|
|
38
37
|
}
|