@dcl/ecs 7.24.5-28985208893.commit-8caf648 → 7.24.5-29245621744.commit-336df45
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 -0
- package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
- 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/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 -129
- 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 -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/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/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 -129
- 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
package/dist/systems/events.js
CHANGED
|
@@ -18,14 +18,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
18
18
|
EventType[EventType["Up"] = 2] = "Up";
|
|
19
19
|
EventType[EventType["HoverEnter"] = 3] = "HoverEnter";
|
|
20
20
|
EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
|
|
21
|
-
EventType[EventType["
|
|
22
|
-
EventType[EventType["
|
|
21
|
+
EventType[EventType["Drag"] = 5] = "Drag";
|
|
22
|
+
EventType[EventType["DragLocked"] = 6] = "DragLocked";
|
|
23
|
+
EventType[EventType["DragEnd"] = 7] = "DragEnd";
|
|
23
24
|
})(EventType || (EventType = {}));
|
|
24
25
|
const eventsMap = new Map();
|
|
25
26
|
function getEvent(entity) {
|
|
26
27
|
return eventsMap.get(entity) || eventsMap.set(entity, new Map()).get(entity);
|
|
27
28
|
}
|
|
28
|
-
function setPointerEvent(entity, type, opts
|
|
29
|
+
function setPointerEvent(entity, type, opts) {
|
|
29
30
|
const pointerEvent = PointerEvents.getMutableOrNull(entity) || PointerEvents.create(entity);
|
|
30
31
|
pointerEvent.pointerEvents.push({
|
|
31
32
|
eventType: type,
|
|
@@ -35,19 +36,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
35
36
|
showHighlight: opts.showHighlight,
|
|
36
37
|
hoverText: opts.hoverText,
|
|
37
38
|
maxDistance: opts.maxDistance,
|
|
38
|
-
maxPlayerDistance: opts.maxPlayerDistance
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
interactionType: interactionType ?? 0 /* InteractionType.CURSOR */
|
|
39
|
+
maxPlayerDistance: opts.maxPlayerDistance
|
|
40
|
+
}
|
|
42
41
|
});
|
|
43
42
|
}
|
|
44
|
-
function removePointerEvent(entity, type, button
|
|
43
|
+
function removePointerEvent(entity, type, button) {
|
|
45
44
|
const pointerEvent = PointerEvents.getMutableOrNull(entity);
|
|
46
45
|
if (!pointerEvent)
|
|
47
46
|
return;
|
|
48
|
-
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button &&
|
|
49
|
-
pointer.eventType === type &&
|
|
50
|
-
pointer.interactionType === interactionType));
|
|
47
|
+
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button && pointer.eventType === type));
|
|
51
48
|
}
|
|
52
49
|
function getPointerEvent(eventType) {
|
|
53
50
|
if (eventType === EventType.Up) {
|
|
@@ -59,117 +56,148 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
59
56
|
else if (eventType === EventType.HoverEnter) {
|
|
60
57
|
return 2 /* PointerEventType.PET_HOVER_ENTER */;
|
|
61
58
|
}
|
|
62
|
-
else if (eventType === EventType.
|
|
63
|
-
return
|
|
59
|
+
else if (eventType === EventType.Drag) {
|
|
60
|
+
return 7 /* PointerEventType.PET_DRAG */;
|
|
61
|
+
}
|
|
62
|
+
else if (eventType === EventType.DragLocked) {
|
|
63
|
+
return 6 /* PointerEventType.PET_DRAG_LOCKED */;
|
|
64
64
|
}
|
|
65
|
-
else if (eventType === EventType.
|
|
66
|
-
return
|
|
65
|
+
else if (eventType === EventType.DragEnd) {
|
|
66
|
+
return 8 /* PointerEventType.PET_DRAG_END */;
|
|
67
67
|
}
|
|
68
68
|
return 1 /* PointerEventType.PET_DOWN */;
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function getEventType(pet) {
|
|
71
|
+
if (pet === 0 /* PointerEventType.PET_UP */) {
|
|
72
|
+
return EventType.Up;
|
|
73
|
+
}
|
|
74
|
+
else if (pet === 2 /* PointerEventType.PET_HOVER_ENTER */) {
|
|
75
|
+
return EventType.HoverEnter;
|
|
76
|
+
}
|
|
77
|
+
else if (pet === 3 /* PointerEventType.PET_HOVER_LEAVE */) {
|
|
78
|
+
return EventType.HoverLeave;
|
|
79
|
+
}
|
|
80
|
+
else if (pet === 7 /* PointerEventType.PET_DRAG */) {
|
|
81
|
+
return EventType.Drag;
|
|
82
|
+
}
|
|
83
|
+
else if (pet === 6 /* PointerEventType.PET_DRAG_LOCKED */) {
|
|
84
|
+
return EventType.DragLocked;
|
|
85
|
+
}
|
|
86
|
+
else if (pet === 8 /* PointerEventType.PET_DRAG_END */) {
|
|
87
|
+
return EventType.DragEnd;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return EventType.Down;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function removeEvent(entity, type) {
|
|
71
94
|
const event = getEvent(entity);
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
|
|
95
|
+
const pointerEventList = event.get(type);
|
|
96
|
+
if (pointerEventList === undefined) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
for (const button of pointerEventList.keys()) {
|
|
100
|
+
removePointerEvent(entity, getPointerEvent(type), button);
|
|
75
101
|
}
|
|
76
102
|
event.delete(type);
|
|
77
103
|
}
|
|
78
104
|
engine.addSystem(function EventSystem() {
|
|
79
|
-
|
|
105
|
+
if (eventsMap.size === 0) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
for (const entity of eventsMap.keys()) {
|
|
80
109
|
if (engine.getEntityState(entity) === EntityState.Removed) {
|
|
81
110
|
eventsMap.delete(entity);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
for (const command of inputSystem.getInputCommands()) {
|
|
114
|
+
const entity = command.hit?.entityId;
|
|
115
|
+
if (entity === undefined) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const entityMap = eventsMap.get(entity);
|
|
119
|
+
if (entityMap === undefined) {
|
|
82
120
|
continue;
|
|
83
121
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
122
|
+
const typeMap = entityMap.get(getEventType(command.state));
|
|
123
|
+
if (typeMap) {
|
|
124
|
+
const data = typeMap.get(command.button);
|
|
125
|
+
if (data) {
|
|
126
|
+
checkNotThenable(data.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
89
127
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
128
|
+
const anyData = typeMap.get(3 /* InputAction.IA_ANY */);
|
|
129
|
+
if (anyData) {
|
|
130
|
+
checkNotThenable(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// check clicks separately
|
|
134
|
+
if (command.state === 0 /* PointerEventType.PET_UP */) {
|
|
135
|
+
const clickMap = entityMap.get(EventType.Click);
|
|
136
|
+
if (clickMap) {
|
|
137
|
+
const data = clickMap.get(command.button);
|
|
138
|
+
if (data && inputSystem.getClick(command.button, entity)) {
|
|
139
|
+
checkNotThenable(data.cb(command), 'Click event returned a thenable. Only synchronous functions are allowed');
|
|
140
|
+
}
|
|
141
|
+
const anyData = clickMap.get(3 /* InputAction.IA_ANY */);
|
|
142
|
+
if (anyData && inputSystem.getClick(command.button, entity)) {
|
|
143
|
+
checkNotThenable(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
99
144
|
}
|
|
100
145
|
}
|
|
101
146
|
}
|
|
102
147
|
}
|
|
103
148
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options, 1 /* InteractionType.PROXIMITY */);
|
|
157
|
-
};
|
|
158
|
-
const onProximityEnter = (...args) => {
|
|
159
|
-
const [data, cb] = args;
|
|
160
|
-
const { entity, opts } = data;
|
|
161
|
-
const options = getDefaultOpts(opts);
|
|
162
|
-
removeEvent(entity, EventType.ProximityEnter, 1 /* InteractionType.PROXIMITY */);
|
|
163
|
-
getEvent(entity).set(EventType.ProximityEnter, { cb, opts: options });
|
|
164
|
-
setPointerEvent(entity, 4 /* PointerEventType.PET_PROXIMITY_ENTER */, options, 1 /* InteractionType.PROXIMITY */);
|
|
165
|
-
};
|
|
166
|
-
const onProximityLeave = (...args) => {
|
|
167
|
-
const [data, cb] = args;
|
|
168
|
-
const { entity, opts } = data;
|
|
169
|
-
const options = getDefaultOpts(opts);
|
|
170
|
-
removeEvent(entity, EventType.ProximityLeave, 1 /* InteractionType.PROXIMITY */);
|
|
171
|
-
getEvent(entity).set(EventType.ProximityLeave, { cb, opts: options });
|
|
172
|
-
setPointerEvent(entity, 5 /* PointerEventType.PET_PROXIMITY_LEAVE */, options, 1 /* InteractionType.PROXIMITY */);
|
|
149
|
+
// return a function with the correct event type.
|
|
150
|
+
// we use onPointerDown as the "archetype" for the returned function, but it fits with
|
|
151
|
+
// all the onPointer* declarations
|
|
152
|
+
const onPointerFunction = (ty) => {
|
|
153
|
+
return (arg0, arg1, arg2) => {
|
|
154
|
+
let entity;
|
|
155
|
+
let optsList;
|
|
156
|
+
if (typeof arg0 === 'number') {
|
|
157
|
+
// called as onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void
|
|
158
|
+
entity = arg0;
|
|
159
|
+
const cb = arg1;
|
|
160
|
+
const opts = arg2;
|
|
161
|
+
optsList = [{ cb, ...getDefaultOpts(opts) }];
|
|
162
|
+
}
|
|
163
|
+
else if (typeof arg1 === 'function') {
|
|
164
|
+
// called as onPointerDown(pointerData: { entity: Entity; opts?: Partial<EventSystemOptions> }, cb: EventSystemCallback): void
|
|
165
|
+
const { entity: e, opts } = arg0;
|
|
166
|
+
const cb = arg1;
|
|
167
|
+
entity = e;
|
|
168
|
+
optsList = [{ cb, ...getDefaultOpts(opts) }];
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
// called as onPointerDown(pointerData: { entity: Entity; optsList: EventSystemOptionsCallback[] }): void
|
|
172
|
+
const { entity: e, optsList: o } = arg0;
|
|
173
|
+
entity = e;
|
|
174
|
+
optsList = o;
|
|
175
|
+
}
|
|
176
|
+
const previous = getEvent(entity).get(ty) ?? new Map();
|
|
177
|
+
const callbacks = new Map();
|
|
178
|
+
for (const opts of optsList) {
|
|
179
|
+
const prevOpts = previous.get(opts.button);
|
|
180
|
+
if (prevOpts !== undefined) {
|
|
181
|
+
if (prevOpts.hoverText !== opts.hoverText ||
|
|
182
|
+
prevOpts.maxDistance !== opts.maxDistance ||
|
|
183
|
+
prevOpts.showFeedback !== opts.showFeedback ||
|
|
184
|
+
prevOpts.showHighlight !== opts.showHighlight) {
|
|
185
|
+
removePointerEvent(entity, getPointerEvent(ty), opts.button);
|
|
186
|
+
setPointerEvent(entity, getPointerEvent(ty), opts);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
setPointerEvent(entity, getPointerEvent(ty), opts);
|
|
191
|
+
}
|
|
192
|
+
callbacks.set(opts.button, opts);
|
|
193
|
+
}
|
|
194
|
+
for (const button of previous.keys()) {
|
|
195
|
+
if (!callbacks.has(button)) {
|
|
196
|
+
removePointerEvent(entity, getPointerEvent(ty), button);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
getEvent(entity).set(ty, callbacks);
|
|
200
|
+
};
|
|
173
201
|
};
|
|
174
202
|
return {
|
|
175
203
|
removeOnClick(entity) {
|
|
@@ -187,34 +215,22 @@ export function createPointerEventsSystem(engine, inputSystem) {
|
|
|
187
215
|
removeOnPointerHoverLeave(entity) {
|
|
188
216
|
removeEvent(entity, EventType.HoverLeave);
|
|
189
217
|
},
|
|
190
|
-
|
|
191
|
-
removeEvent(entity, EventType.
|
|
192
|
-
},
|
|
193
|
-
removeOnProximityUp(entity) {
|
|
194
|
-
removeEvent(entity, EventType.Up, 1 /* InteractionType.PROXIMITY */);
|
|
218
|
+
removeOnPointerDrag(entity) {
|
|
219
|
+
removeEvent(entity, EventType.Drag);
|
|
195
220
|
},
|
|
196
|
-
|
|
197
|
-
removeEvent(entity, EventType.
|
|
221
|
+
removeOnPointerDragLocked(entity) {
|
|
222
|
+
removeEvent(entity, EventType.DragLocked);
|
|
198
223
|
},
|
|
199
|
-
|
|
200
|
-
removeEvent(entity, EventType.
|
|
201
|
-
},
|
|
202
|
-
onClick(value, cb) {
|
|
203
|
-
const { entity } = value;
|
|
204
|
-
const options = getDefaultOpts(value.opts);
|
|
205
|
-
// Clear previous event with over feedback included
|
|
206
|
-
removeEvent(entity, EventType.Click);
|
|
207
|
-
// Set new event
|
|
208
|
-
getEvent(entity).set(EventType.Click, { cb, opts: options });
|
|
209
|
-
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
|
|
224
|
+
removeOnPointerDragEnd(entity) {
|
|
225
|
+
removeEvent(entity, EventType.DragEnd);
|
|
210
226
|
},
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
227
|
+
onClick: onPointerFunction(EventType.Click),
|
|
228
|
+
onPointerDown: onPointerFunction(EventType.Down),
|
|
229
|
+
onPointerUp: onPointerFunction(EventType.Up),
|
|
230
|
+
onPointerHoverEnter: onPointerFunction(EventType.HoverEnter),
|
|
231
|
+
onPointerHoverLeave: onPointerFunction(EventType.HoverLeave),
|
|
232
|
+
onPointerDrag: onPointerFunction(EventType.Drag),
|
|
233
|
+
onPointerDragLocked: onPointerFunction(EventType.DragLocked),
|
|
234
|
+
onPointerDragEnd: onPointerFunction(EventType.DragEnd)
|
|
219
235
|
};
|
|
220
236
|
}
|
|
@@ -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;
|
package/dist/systems/raycast.js
CHANGED
|
@@ -58,6 +58,8 @@ export function createRaycastSystem(engine) {
|
|
|
58
58
|
raycast.direction = raycastValue.directionRawValue;
|
|
59
59
|
raycast.continuous = raycastValue.continuous;
|
|
60
60
|
raycast.queryType = raycastValue.queryType;
|
|
61
|
+
raycast.shape = raycastValue.shape;
|
|
62
|
+
raycast.includeWorld = raycastValue.includeWorld;
|
|
61
63
|
entitiesCallbackResultMap.set(entity, { callback: callback });
|
|
62
64
|
};
|
|
63
65
|
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
|
/**
|
|
@@ -1,57 +1,10 @@
|
|
|
1
1
|
import * as components from '../components';
|
|
2
2
|
import { EntityState } from '../engine/entity';
|
|
3
|
-
/**
|
|
4
|
-
* Builds a synthetic PBTriggerAreaResult for a per-tick onStay callback.
|
|
5
|
-
*
|
|
6
|
-
* Transform components are resolved at call time so that scene-owned entities report
|
|
7
|
-
* up-to-date position/rotation/scale. For player-avatar triggerers (reserved entities
|
|
8
|
-
* without a scene-side Transform), there is no scene Transform component, so the cached
|
|
9
|
-
* values from the last ENTER or wire-STAY event are used as-is. These cached values may
|
|
10
|
-
* be slightly stale for the current frame — this is expected and acceptable for the
|
|
11
|
-
* avatar case.
|
|
12
|
-
*/
|
|
13
|
-
function buildSyntheticStayResult(cached, triggerAreaEntity, triggererEntity, currentTimestamp, Transform) {
|
|
14
|
-
// Shallow-clone the trigger sub-object so we can mutate it.
|
|
15
|
-
const trigger = cached.trigger
|
|
16
|
-
? {
|
|
17
|
-
entity: cached.trigger.entity,
|
|
18
|
-
layers: cached.trigger.layers,
|
|
19
|
-
position: cached.trigger.position ? { ...cached.trigger.position } : undefined,
|
|
20
|
-
rotation: cached.trigger.rotation ? { ...cached.trigger.rotation } : undefined,
|
|
21
|
-
scale: cached.trigger.scale ? { ...cached.trigger.scale } : undefined
|
|
22
|
-
}
|
|
23
|
-
: undefined;
|
|
24
|
-
// Build the cloned result with a forced TAET_STAY eventType and refreshed timestamp.
|
|
25
|
-
const result = {
|
|
26
|
-
triggeredEntity: cached.triggeredEntity,
|
|
27
|
-
triggeredEntityPosition: cached.triggeredEntityPosition ? { ...cached.triggeredEntityPosition } : undefined,
|
|
28
|
-
triggeredEntityRotation: cached.triggeredEntityRotation ? { ...cached.triggeredEntityRotation } : undefined,
|
|
29
|
-
eventType: 1 /* TriggerAreaEventType.TAET_STAY */,
|
|
30
|
-
timestamp: currentTimestamp,
|
|
31
|
-
trigger
|
|
32
|
-
};
|
|
33
|
-
// Refresh trigger-area entity transform when it is scene-owned.
|
|
34
|
-
const triggerAreaTransform = Transform.getOrNull(triggerAreaEntity);
|
|
35
|
-
if (triggerAreaTransform !== null) {
|
|
36
|
-
result.triggeredEntityPosition = { ...triggerAreaTransform.position };
|
|
37
|
-
result.triggeredEntityRotation = { ...triggerAreaTransform.rotation };
|
|
38
|
-
}
|
|
39
|
-
// Refresh triggerer transform when it is scene-owned.
|
|
40
|
-
// For player-avatar entities (reserved, no scene-side Transform) the cached values are kept.
|
|
41
|
-
const triggererTransform = Transform.getOrNull(triggererEntity);
|
|
42
|
-
if (triggererTransform !== null && result.trigger) {
|
|
43
|
-
result.trigger.position = { ...triggererTransform.position };
|
|
44
|
-
result.trigger.rotation = { ...triggererTransform.rotation };
|
|
45
|
-
result.trigger.scale = { ...triggererTransform.scale };
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
3
|
/**
|
|
50
4
|
* @internal
|
|
51
5
|
*/
|
|
52
6
|
export function createTriggerAreaEventsSystem(engine) {
|
|
53
7
|
const triggerAreaResultComponent = components.TriggerAreaResult(engine);
|
|
54
|
-
const Transform = components.Transform(engine);
|
|
55
8
|
const entitiesMap = new Map();
|
|
56
9
|
function hasCallbacksMap(entity) {
|
|
57
10
|
return entitiesMap.has(entity) && entitiesMap.get(entity) !== undefined;
|
|
@@ -63,8 +16,7 @@ export function createTriggerAreaEventsSystem(engine) {
|
|
|
63
16
|
else {
|
|
64
17
|
entitiesMap.set(entity, {
|
|
65
18
|
triggerCallbackMap: new Map([[triggerType, callback]]),
|
|
66
|
-
lastConsumedTimestamp: -1
|
|
67
|
-
insideTriggerers: new Map()
|
|
19
|
+
lastConsumedTimestamp: -1
|
|
68
20
|
});
|
|
69
21
|
}
|
|
70
22
|
}
|
|
@@ -73,9 +25,7 @@ export function createTriggerAreaEventsSystem(engine) {
|
|
|
73
25
|
return;
|
|
74
26
|
const triggerCallbackMap = entitiesMap.get(entity).triggerCallbackMap;
|
|
75
27
|
triggerCallbackMap.delete(triggerType);
|
|
76
|
-
// Remove entity if no more trigger callbacks are registered
|
|
77
|
-
// insideTriggerers is intentionally left populated so that re-subscription picks up
|
|
78
|
-
// in-flight sessions without missing the first synthesized onStay.
|
|
28
|
+
// Remove entity if no more trigger callbacks are registered
|
|
79
29
|
if (triggerCallbackMap.size === 0)
|
|
80
30
|
entitiesMap.delete(entity);
|
|
81
31
|
}
|
|
@@ -105,88 +55,51 @@ export function createTriggerAreaEventsSystem(engine) {
|
|
|
105
55
|
continue;
|
|
106
56
|
}
|
|
107
57
|
const result = triggerAreaResultComponent.get(entity);
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (newestTimestamp > data.lastConsumedTimestamp) {
|
|
121
|
-
// Find index of value with the lastConsumedTimestamp.
|
|
122
|
-
let i = values.length - 2;
|
|
123
|
-
while (i >= 0 && values[i].timestamp > data.lastConsumedTimestamp)
|
|
124
|
-
i--;
|
|
125
|
-
// Mark the following value index as the starting point to trigger all the new value callbacks.
|
|
126
|
-
startIndex = i + 1;
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
// No new events — skip to Pass 2.
|
|
130
|
-
startIndex = values.length;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
if (startIndex < values.length) {
|
|
134
|
-
// Process new wire events in chronological order.
|
|
135
|
-
for (let i = startIndex; i < values.length; i++) {
|
|
136
|
-
const event = values[i];
|
|
137
|
-
switch (event.eventType) {
|
|
138
|
-
case 0 /* TriggerAreaEventType.TAET_ENTER */:
|
|
139
|
-
// Update in-flight tracking before firing the callback.
|
|
140
|
-
data.insideTriggerers.set(event.trigger.entity, {
|
|
141
|
-
triggeredEntity: event.triggeredEntity,
|
|
142
|
-
triggeredEntityPosition: event.triggeredEntityPosition
|
|
143
|
-
? { ...event.triggeredEntityPosition }
|
|
144
|
-
: undefined,
|
|
145
|
-
triggeredEntityRotation: event.triggeredEntityRotation
|
|
146
|
-
? { ...event.triggeredEntityRotation }
|
|
147
|
-
: undefined,
|
|
148
|
-
eventType: event.eventType,
|
|
149
|
-
timestamp: event.timestamp,
|
|
150
|
-
trigger: event.trigger
|
|
151
|
-
? {
|
|
152
|
-
entity: event.trigger.entity,
|
|
153
|
-
layers: event.trigger.layers,
|
|
154
|
-
position: event.trigger.position ? { ...event.trigger.position } : undefined,
|
|
155
|
-
rotation: event.trigger.rotation ? { ...event.trigger.rotation } : undefined,
|
|
156
|
-
scale: event.trigger.scale ? { ...event.trigger.scale } : undefined
|
|
157
|
-
}
|
|
158
|
-
: undefined
|
|
159
|
-
});
|
|
160
|
-
if (data.triggerCallbackMap.has(0 /* TriggerAreaEventType.TAET_ENTER */)) {
|
|
161
|
-
data.triggerCallbackMap.get(0 /* TriggerAreaEventType.TAET_ENTER */)(event);
|
|
162
|
-
}
|
|
163
|
-
break;
|
|
164
|
-
case 2 /* TriggerAreaEventType.TAET_EXIT */:
|
|
165
|
-
data.insideTriggerers.delete(event.trigger.entity);
|
|
166
|
-
if (data.triggerCallbackMap.has(2 /* TriggerAreaEventType.TAET_EXIT */)) {
|
|
167
|
-
data.triggerCallbackMap.get(2 /* TriggerAreaEventType.TAET_EXIT */)(event);
|
|
168
|
-
}
|
|
169
|
-
break;
|
|
170
|
-
// Wire-level TAET_STAY and any unknown event types are ignored — no callback, no state mutation.
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
data.lastConsumedTimestamp = values[values.length - 1].timestamp;
|
|
58
|
+
// The Explorer may be taking time before the result component is put
|
|
59
|
+
if (result.size === 0)
|
|
60
|
+
continue;
|
|
61
|
+
const values = Array.from(result.values());
|
|
62
|
+
// determine starting index for new values (more than one could be added between System updates)
|
|
63
|
+
// search backwards to find the anchor at lastConsumedTimestamp
|
|
64
|
+
let startIndex = 0;
|
|
65
|
+
if (data.lastConsumedTimestamp >= 0) {
|
|
66
|
+
const newestTimestamp = values[values.length - 1].timestamp;
|
|
67
|
+
// if nothing new, skip processing
|
|
68
|
+
if (newestTimestamp <= data.lastConsumedTimestamp) {
|
|
69
|
+
continue;
|
|
174
70
|
}
|
|
71
|
+
// Find index of value with the lastConsumedTimestamp
|
|
72
|
+
let i = values.length - 2;
|
|
73
|
+
while (i >= 0 && values[i].timestamp > data.lastConsumedTimestamp)
|
|
74
|
+
i--;
|
|
75
|
+
// Mark the following value index as the starting point to trigger all the new value callbacks
|
|
76
|
+
startIndex = i + 1;
|
|
175
77
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
//
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
78
|
+
if (startIndex >= values.length)
|
|
79
|
+
continue;
|
|
80
|
+
// Trigger callbacks for all the new values
|
|
81
|
+
for (let i = startIndex; i < values.length; i++) {
|
|
82
|
+
switch (values[i].eventType) {
|
|
83
|
+
case 0 /* TriggerAreaEventType.TAET_ENTER */:
|
|
84
|
+
if (!data.triggerCallbackMap.has(0 /* TriggerAreaEventType.TAET_ENTER */))
|
|
85
|
+
continue;
|
|
86
|
+
data.triggerCallbackMap.get(0 /* TriggerAreaEventType.TAET_ENTER */)(values[i]);
|
|
87
|
+
break;
|
|
88
|
+
case 1 /* TriggerAreaEventType.TAET_STAY */:
|
|
89
|
+
if (!data.triggerCallbackMap.has(1 /* TriggerAreaEventType.TAET_STAY */))
|
|
90
|
+
continue;
|
|
91
|
+
data.triggerCallbackMap.get(1 /* TriggerAreaEventType.TAET_STAY */)(values[i]);
|
|
92
|
+
break;
|
|
93
|
+
case 2 /* TriggerAreaEventType.TAET_EXIT */:
|
|
94
|
+
if (!data.triggerCallbackMap.has(2 /* TriggerAreaEventType.TAET_EXIT */))
|
|
95
|
+
continue;
|
|
96
|
+
data.triggerCallbackMap.get(2 /* TriggerAreaEventType.TAET_EXIT */)(values[i]);
|
|
97
|
+
break;
|
|
186
98
|
}
|
|
187
99
|
}
|
|
100
|
+
data.lastConsumedTimestamp = values[values.length - 1].timestamp;
|
|
188
101
|
}
|
|
189
|
-
// Clean up garbage entries
|
|
102
|
+
// Clean up garbage entries
|
|
190
103
|
garbageEntries.forEach((garbageEntity) => entitiesMap.delete(garbageEntity));
|
|
191
104
|
});
|
|
192
105
|
return {
|
|
@@ -8,13 +8,11 @@ export interface AudioSourceComponentDefinitionExtended extends LastWriteWinElem
|
|
|
8
8
|
/**
|
|
9
9
|
* @public
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* identical parameters reliably retrigger playback.
|
|
14
|
-
* @param entity - target entity (AudioSource will be created if missing)
|
|
11
|
+
* Set playing=true the sound `$name`
|
|
12
|
+
* @param entity - entity with AudioSource component
|
|
15
13
|
* @param src - the path to the sound to play
|
|
16
14
|
* @param resetCursor - the sound starts at 0 or continues from the current cursor position
|
|
17
|
-
* @returns
|
|
15
|
+
* @returns true in successful playing, false if it doesn't find the AudioSource component
|
|
18
16
|
*/
|
|
19
17
|
playSound(entity: Entity, src: string, resetCursor?: boolean): boolean;
|
|
20
18
|
/**
|
|
@@ -7,13 +7,13 @@ function defineAudioSourceComponent(engine) {
|
|
|
7
7
|
return {
|
|
8
8
|
...theComponent,
|
|
9
9
|
playSound(entity, src, resetCursor = true) {
|
|
10
|
-
|
|
11
|
-
theComponent.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
// Get the mutable to modify
|
|
11
|
+
const audioSource = theComponent.getMutableOrNull(entity);
|
|
12
|
+
if (!audioSource)
|
|
13
|
+
return false;
|
|
14
|
+
audioSource.audioClipUrl = src;
|
|
15
|
+
audioSource.playing = true;
|
|
16
|
+
audioSource.currentTime = resetCursor ? 0 : audioSource.currentTime;
|
|
17
17
|
return true;
|
|
18
18
|
},
|
|
19
19
|
stopSound(entity, resetCursor = true) {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
|
|
2
|
+
import { PBAvatarEquippedData } from '../generated/pb/decentraland/sdk/components/avatar_equipped_data.gen';
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
|
|
7
|
+
export type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
|
|
8
|
+
forceRender?: string[] | undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare function defineAvatarEquippedDataComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarEquippedDataComponentDefinitionExtended;
|