@dcl/ecs 7.1.12-4982571416.commit-0b87aa7 → 7.1.12-4983011170.commit-adaaaa2
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/generated/pb/decentraland/common/vectors.gen.d.ts +16 -0
- package/dist/components/generated/pb/decentraland/common/vectors.gen.js +65 -0
- package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +3 -3
- package/dist/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +4 -4
- package/dist-cjs/components/component-number.d.ts +7 -0
- package/dist-cjs/components/component-number.js +44 -0
- package/dist-cjs/components/extended/Animator.d.ts +46 -0
- package/dist-cjs/components/extended/Animator.js +62 -0
- package/dist-cjs/components/extended/Material.d.ts +42 -0
- package/dist-cjs/components/extended/Material.js +54 -0
- package/dist-cjs/components/extended/MeshCollider.d.ts +38 -0
- package/dist-cjs/components/extended/MeshCollider.js +43 -0
- package/dist-cjs/components/extended/MeshRenderer.d.ts +36 -0
- package/dist-cjs/components/extended/MeshRenderer.js +31 -0
- package/dist-cjs/components/generated/Animator.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Animator.gen.js +28 -0
- package/dist-cjs/components/generated/AudioSource.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AudioSource.gen.js +28 -0
- package/dist-cjs/components/generated/AudioStream.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AudioStream.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarAttach.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarAttach.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarModifierArea.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarModifierArea.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarShape.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarShape.gen.js +28 -0
- package/dist-cjs/components/generated/Billboard.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Billboard.gen.js +28 -0
- package/dist-cjs/components/generated/CameraMode.gen.d.ts +1 -0
- package/dist-cjs/components/generated/CameraMode.gen.js +28 -0
- package/dist-cjs/components/generated/CameraModeArea.gen.d.ts +1 -0
- package/dist-cjs/components/generated/CameraModeArea.gen.js +28 -0
- package/dist-cjs/components/generated/EngineInfo.gen.d.ts +1 -0
- package/dist-cjs/components/generated/EngineInfo.gen.js +28 -0
- package/dist-cjs/components/generated/GltfContainer.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfContainer.gen.js +28 -0
- package/dist-cjs/components/generated/GltfContainerLoadingState.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfContainerLoadingState.gen.js +28 -0
- package/dist-cjs/components/generated/Material.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Material.gen.js +28 -0
- package/dist-cjs/components/generated/MeshCollider.gen.d.ts +1 -0
- package/dist-cjs/components/generated/MeshCollider.gen.js +28 -0
- package/dist-cjs/components/generated/MeshRenderer.gen.d.ts +1 -0
- package/dist-cjs/components/generated/MeshRenderer.gen.js +28 -0
- package/dist-cjs/components/generated/NftShape.gen.d.ts +1 -0
- package/dist-cjs/components/generated/NftShape.gen.js +28 -0
- package/dist-cjs/components/generated/PointerEvents.gen.d.ts +1 -0
- package/dist-cjs/components/generated/PointerEvents.gen.js +28 -0
- package/dist-cjs/components/generated/PointerEventsResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/PointerEventsResult.gen.js +28 -0
- package/dist-cjs/components/generated/PointerLock.gen.d.ts +1 -0
- package/dist-cjs/components/generated/PointerLock.gen.js +28 -0
- package/dist-cjs/components/generated/Raycast.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Raycast.gen.js +28 -0
- package/dist-cjs/components/generated/RaycastResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/RaycastResult.gen.js +28 -0
- package/dist-cjs/components/generated/TextShape.gen.d.ts +1 -0
- package/dist-cjs/components/generated/TextShape.gen.js +28 -0
- package/dist-cjs/components/generated/UiBackground.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiBackground.gen.js +28 -0
- package/dist-cjs/components/generated/UiCanvasInformation.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiCanvasInformation.gen.js +28 -0
- package/dist-cjs/components/generated/UiDropdown.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiDropdown.gen.js +28 -0
- package/dist-cjs/components/generated/UiDropdownResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiDropdownResult.gen.js +28 -0
- package/dist-cjs/components/generated/UiInput.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiInput.gen.js +28 -0
- package/dist-cjs/components/generated/UiInputResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiInputResult.gen.js +28 -0
- package/dist-cjs/components/generated/UiText.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiText.gen.js +28 -0
- package/dist-cjs/components/generated/UiTransform.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiTransform.gen.js +28 -0
- package/dist-cjs/components/generated/VideoEvent.gen.d.ts +1 -0
- package/dist-cjs/components/generated/VideoEvent.gen.js +28 -0
- package/dist-cjs/components/generated/VideoPlayer.gen.d.ts +1 -0
- package/dist-cjs/components/generated/VideoPlayer.gen.js +28 -0
- package/dist-cjs/components/generated/VisibilityComponent.gen.d.ts +1 -0
- package/dist-cjs/components/generated/VisibilityComponent.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.d.ts +4 -0
- package/dist-cjs/components/generated/component-names.gen.js +42 -0
- package/dist-cjs/components/generated/global.gen.d.ts +60 -0
- package/dist-cjs/components/generated/global.gen.js +61 -0
- package/dist-cjs/components/generated/index.gen.d.ts +139 -0
- package/dist-cjs/components/generated/index.gen.js +222 -0
- package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.d.ts +35 -0
- package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.js +139 -0
- package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.js +130 -0
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +91 -0
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +254 -0
- package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.d.ts +61 -0
- package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.js +233 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +50 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.js +147 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +34 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +83 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +24 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +37 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +67 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +86 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +56 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +176 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +38 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +63 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +57 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +9 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +15 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +36 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.d.ts +10 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.js +16 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.js +110 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +22 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +65 -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 +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +96 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +326 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +120 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +246 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +96 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +246 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +58 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +96 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +67 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +159 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +26 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +93 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +63 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +152 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +85 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +250 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +119 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +75 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +130 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +14 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +28 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +120 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +14 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +84 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +179 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +644 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.d.ts +33 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.js +97 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.js +99 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +15 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +47 -0
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +468 -0
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +1936 -0
- package/dist-cjs/components/generated/types.gen.d.ts +9 -0
- package/dist-cjs/components/generated/types.gen.js +30 -0
- package/dist-cjs/components/index.d.ts +14 -0
- package/dist-cjs/components/index.js +38 -0
- package/dist-cjs/components/manual/Transform.d.ts +40 -0
- package/dist-cjs/components/manual/Transform.js +110 -0
- package/dist-cjs/components/types.d.ts +5 -0
- package/dist-cjs/components/types.js +2 -0
- package/dist-cjs/composite/components.d.ts +18 -0
- package/dist-cjs/composite/components.js +22 -0
- package/dist-cjs/composite/index.d.ts +51 -0
- package/dist-cjs/composite/index.js +60 -0
- package/dist-cjs/composite/instance.d.ts +34 -0
- package/dist-cjs/composite/instance.js +201 -0
- package/dist-cjs/composite/path.d.ts +3 -0
- package/dist-cjs/composite/path.js +154 -0
- package/dist-cjs/composite/proto/gen/composite.gen.d.ts +71 -0
- package/dist-cjs/composite/proto/gen/composite.gen.js +337 -0
- package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.d.ts +138 -0
- package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.js +443 -0
- package/dist-cjs/engine/component.d.ts +149 -0
- package/dist-cjs/engine/component.js +12 -0
- package/dist-cjs/engine/entity.d.ts +49 -0
- package/dist-cjs/engine/entity.js +178 -0
- package/dist-cjs/engine/grow-only-value-set-component-definition.d.ts +8 -0
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +145 -0
- package/dist-cjs/engine/index.d.ts +15 -0
- package/dist-cjs/engine/index.js +247 -0
- package/dist-cjs/engine/input.d.ts +34 -0
- package/dist-cjs/engine/input.js +219 -0
- package/dist-cjs/engine/lww-element-set-component-definition.d.ts +8 -0
- package/dist-cjs/engine/lww-element-set-component-definition.js +264 -0
- package/dist-cjs/engine/readonly.d.ts +29 -0
- package/dist-cjs/engine/readonly.js +10 -0
- package/dist-cjs/engine/systems.d.ts +15 -0
- package/dist-cjs/engine/systems.js +48 -0
- package/dist-cjs/engine/types.d.ts +215 -0
- package/dist-cjs/engine/types.js +17 -0
- package/dist-cjs/index.d.ts +22 -0
- package/dist-cjs/index.js +58 -0
- package/dist-cjs/runtime/crc.d.ts +1 -0
- package/dist-cjs/runtime/crc.js +45 -0
- package/dist-cjs/runtime/helpers/index.d.ts +1 -0
- package/dist-cjs/runtime/helpers/index.js +17 -0
- package/dist-cjs/runtime/helpers/tree.d.ts +32 -0
- package/dist-cjs/runtime/helpers/tree.js +77 -0
- package/dist-cjs/runtime/initialization/index.d.ts +61 -0
- package/dist-cjs/runtime/initialization/index.js +56 -0
- package/dist-cjs/runtime/invariant.d.ts +4 -0
- package/dist-cjs/runtime/invariant.js +17 -0
- package/dist-cjs/runtime/types.d.ts +6 -0
- package/dist-cjs/runtime/types.js +18 -0
- package/dist-cjs/schemas/Array.d.ts +1 -0
- package/dist-cjs/schemas/Array.js +33 -0
- package/dist-cjs/schemas/ISchema.d.ts +35 -0
- package/dist-cjs/schemas/ISchema.js +2 -0
- package/dist-cjs/schemas/Map.d.ts +20 -0
- package/dist-cjs/schemas/Map.js +49 -0
- package/dist-cjs/schemas/OneOf.d.ts +10 -0
- package/dist-cjs/schemas/OneOf.js +35 -0
- package/dist-cjs/schemas/Optional.d.ts +1 -0
- package/dist-cjs/schemas/Optional.js +34 -0
- package/dist-cjs/schemas/basic/Boolean.d.ts +1 -0
- package/dist-cjs/schemas/basic/Boolean.js +21 -0
- package/dist-cjs/schemas/basic/Enum.d.ts +1 -0
- package/dist-cjs/schemas/basic/Enum.js +101 -0
- package/dist-cjs/schemas/basic/Float.d.ts +1 -0
- package/dist-cjs/schemas/basic/Float.js +39 -0
- package/dist-cjs/schemas/basic/Integer.d.ts +9 -0
- package/dist-cjs/schemas/basic/Integer.js +75 -0
- package/dist-cjs/schemas/basic/String.d.ts +1 -0
- package/dist-cjs/schemas/basic/String.js +25 -0
- package/dist-cjs/schemas/buildSchema/index.d.ts +11 -0
- package/dist-cjs/schemas/buildSchema/index.js +114 -0
- package/dist-cjs/schemas/buildSchema/types.d.ts +5 -0
- package/dist-cjs/schemas/buildSchema/types.js +2 -0
- package/dist-cjs/schemas/buildSchema/utils.d.ts +12 -0
- package/dist-cjs/schemas/buildSchema/utils.js +30 -0
- package/dist-cjs/schemas/custom/Color3.d.ts +8 -0
- package/dist-cjs/schemas/custom/Color3.js +32 -0
- package/dist-cjs/schemas/custom/Color4.d.ts +9 -0
- package/dist-cjs/schemas/custom/Color4.js +35 -0
- package/dist-cjs/schemas/custom/Entity.d.ts +1 -0
- package/dist-cjs/schemas/custom/Entity.js +21 -0
- package/dist-cjs/schemas/custom/Quaternion.d.ts +9 -0
- package/dist-cjs/schemas/custom/Quaternion.js +35 -0
- package/dist-cjs/schemas/custom/Vector3.d.ts +8 -0
- package/dist-cjs/schemas/custom/Vector3.js +33 -0
- package/dist-cjs/schemas/index.d.ts +80 -0
- package/dist-cjs/schemas/index.js +84 -0
- package/dist-cjs/schemas/typing.d.ts +30 -0
- package/dist-cjs/schemas/typing.js +2 -0
- package/dist-cjs/serialization/ByteBuffer/index.d.ts +180 -0
- package/dist-cjs/serialization/ByteBuffer/index.js +272 -0
- package/dist-cjs/serialization/crdt/appendValue.d.ts +15 -0
- package/dist-cjs/serialization/crdt/appendValue.js +52 -0
- package/dist-cjs/serialization/crdt/crdtMessageProtocol.d.ts +30 -0
- package/dist-cjs/serialization/crdt/crdtMessageProtocol.js +71 -0
- package/dist-cjs/serialization/crdt/deleteComponent.d.ts +14 -0
- package/dist-cjs/serialization/crdt/deleteComponent.js +45 -0
- package/dist-cjs/serialization/crdt/deleteEntity.d.ts +11 -0
- package/dist-cjs/serialization/crdt/deleteEntity.js +34 -0
- package/dist-cjs/serialization/crdt/index.d.ts +6 -0
- package/dist-cjs/serialization/crdt/index.js +22 -0
- package/dist-cjs/serialization/crdt/message.d.ts +3 -0
- package/dist-cjs/serialization/crdt/message.js +28 -0
- package/dist-cjs/serialization/crdt/putComponent.d.ts +15 -0
- package/dist-cjs/serialization/crdt/putComponent.js +50 -0
- package/dist-cjs/serialization/crdt/types.d.ts +147 -0
- package/dist-cjs/serialization/crdt/types.js +77 -0
- package/dist-cjs/systems/async-task.d.ts +1 -0
- package/dist-cjs/systems/async-task.js +33 -0
- package/dist-cjs/systems/crdt/gset.d.ts +29 -0
- package/dist-cjs/systems/crdt/gset.js +54 -0
- package/dist-cjs/systems/crdt/index.d.ts +7 -0
- package/dist-cjs/systems/crdt/index.js +241 -0
- package/dist-cjs/systems/crdt/types.d.ts +20 -0
- package/dist-cjs/systems/crdt/types.js +2 -0
- package/dist-cjs/systems/crdt/utils.d.ts +15 -0
- package/dist-cjs/systems/crdt/utils.js +52 -0
- package/dist-cjs/systems/cyclicParentingChecker.d.ts +17 -0
- package/dist-cjs/systems/cyclicParentingChecker.js +60 -0
- package/dist-cjs/systems/events.d.ts +49 -0
- package/dist-cjs/systems/events.js +137 -0
- package/dist-cjs/systems/raycast.d.ts +80 -0
- package/dist-cjs/systems/raycast.js +124 -0
- package/dist-cjs/systems/videoEvents.d.ts +14 -0
- package/dist-cjs/systems/videoEvents.js +89 -0
- package/package.json +5 -4
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ComponentDefinition } from '../../engine/component';
|
|
2
|
+
export declare namespace CrdtUtils {
|
|
3
|
+
type ComponentID = ComponentDefinition<any>['componentId'];
|
|
4
|
+
enum SynchronizedEntityType {
|
|
5
|
+
NETWORKED = 0,
|
|
6
|
+
RENDERER = 1
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export default CrdtUtils;
|
|
10
|
+
/**
|
|
11
|
+
* Compare raw data.
|
|
12
|
+
* @public
|
|
13
|
+
* @returns 0 if is the same data, 1 if a > b, -1 if b > a
|
|
14
|
+
*/
|
|
15
|
+
export declare function dataCompare<T>(a: T, b: T): number;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dataCompare = exports.CrdtUtils = void 0;
|
|
4
|
+
var CrdtUtils;
|
|
5
|
+
(function (CrdtUtils) {
|
|
6
|
+
let SynchronizedEntityType;
|
|
7
|
+
(function (SynchronizedEntityType) {
|
|
8
|
+
// synchronizes entities with the NetworkSynchronized component only, used for networked games
|
|
9
|
+
SynchronizedEntityType[SynchronizedEntityType["NETWORKED"] = 0] = "NETWORKED";
|
|
10
|
+
// synchronizes entities needed by the renderer
|
|
11
|
+
SynchronizedEntityType[SynchronizedEntityType["RENDERER"] = 1] = "RENDERER";
|
|
12
|
+
})(SynchronizedEntityType = CrdtUtils.SynchronizedEntityType || (CrdtUtils.SynchronizedEntityType = {}));
|
|
13
|
+
})(CrdtUtils = exports.CrdtUtils || (exports.CrdtUtils = {}));
|
|
14
|
+
exports.default = CrdtUtils;
|
|
15
|
+
/**
|
|
16
|
+
* Compare raw data.
|
|
17
|
+
* @public
|
|
18
|
+
* @returns 0 if is the same data, 1 if a > b, -1 if b > a
|
|
19
|
+
*/
|
|
20
|
+
function dataCompare(a, b) {
|
|
21
|
+
// At reference level
|
|
22
|
+
if (a === b)
|
|
23
|
+
return 0;
|
|
24
|
+
if (a === null && b !== null)
|
|
25
|
+
return -1;
|
|
26
|
+
if (a !== null && b === null)
|
|
27
|
+
return 1;
|
|
28
|
+
if (a instanceof Uint8Array && b instanceof Uint8Array) {
|
|
29
|
+
const lengthDifference = a.byteLength - b.byteLength;
|
|
30
|
+
if (lengthDifference !== 0) {
|
|
31
|
+
return lengthDifference > 0 ? 1 : -1;
|
|
32
|
+
}
|
|
33
|
+
let res;
|
|
34
|
+
for (let i = 0, n = a.byteLength; i < n; i++) {
|
|
35
|
+
res = a[i] - b[i];
|
|
36
|
+
if (res !== 0) {
|
|
37
|
+
return res > 0 ? 1 : -1;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// the data is exactly the same
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
43
|
+
if (typeof a === 'string') {
|
|
44
|
+
const lengthDifference = a.length - b.length;
|
|
45
|
+
if (lengthDifference !== 0) {
|
|
46
|
+
return lengthDifference > 0 ? 1 : -1;
|
|
47
|
+
}
|
|
48
|
+
return a.localeCompare(b);
|
|
49
|
+
}
|
|
50
|
+
return a > b ? 1 : -1;
|
|
51
|
+
}
|
|
52
|
+
exports.dataCompare = dataCompare;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IEngine } from '../engine/types';
|
|
2
|
+
/**
|
|
3
|
+
* Transform parenting: cyclic dependency checker
|
|
4
|
+
* It checks only in modified Transforms
|
|
5
|
+
*
|
|
6
|
+
* Add this system with:
|
|
7
|
+
* ```ts
|
|
8
|
+
* engine.addSystem(cyclicParentingChecker(engine))
|
|
9
|
+
* ````
|
|
10
|
+
* And then it will check every tick the parenting.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*
|
|
14
|
+
* @params engine
|
|
15
|
+
* @returns a system
|
|
16
|
+
*/
|
|
17
|
+
export declare function cyclicParentingChecker(engine: IEngine): () => void;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.cyclicParentingChecker = void 0;
|
|
27
|
+
const components = __importStar(require("../components"));
|
|
28
|
+
/**
|
|
29
|
+
* Transform parenting: cyclic dependency checker
|
|
30
|
+
* It checks only in modified Transforms
|
|
31
|
+
*
|
|
32
|
+
* Add this system with:
|
|
33
|
+
* ```ts
|
|
34
|
+
* engine.addSystem(cyclicParentingChecker(engine))
|
|
35
|
+
* ````
|
|
36
|
+
* And then it will check every tick the parenting.
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
*
|
|
40
|
+
* @params engine
|
|
41
|
+
* @returns a system
|
|
42
|
+
*/
|
|
43
|
+
function cyclicParentingChecker(engine) {
|
|
44
|
+
const Transform = components.Transform(engine);
|
|
45
|
+
return () => {
|
|
46
|
+
for (const entity of Transform.dirtyIterator()) {
|
|
47
|
+
let transform = Transform.getOrNull(entity);
|
|
48
|
+
while (transform && transform.parent) {
|
|
49
|
+
if (transform.parent === entity) {
|
|
50
|
+
console.error(`There is a cyclic parent with entity ${entity}`);
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
transform = Transform.getOrNull(transform.parent);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.cyclicParentingChecker = cyclicParentingChecker;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { InputAction } from '../components/generated/pb/decentraland/sdk/components/common/input_action.gen';
|
|
2
|
+
import { PBPointerEventsResult } from '../components/generated/pb/decentraland/sdk/components/pointer_events_result.gen';
|
|
3
|
+
import { Entity } from '../engine/entity';
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export type EventSystemCallback = (event: PBPointerEventsResult) => void;
|
|
8
|
+
/**
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export type EventSystemOptions = {
|
|
12
|
+
button: InputAction;
|
|
13
|
+
hoverText?: string;
|
|
14
|
+
maxDistance?: number;
|
|
15
|
+
showFeedback?: boolean;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export interface PointerEventsSystem {
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
* Remove the callback for onPointerDown event
|
|
24
|
+
* @param entity - Entity where the callback was attached
|
|
25
|
+
*/
|
|
26
|
+
removeOnPointerDown(entity: Entity): void;
|
|
27
|
+
/**
|
|
28
|
+
* @public
|
|
29
|
+
* Remove the callback for onPointerUp event
|
|
30
|
+
* @param entity - Entity where the callback was attached
|
|
31
|
+
*/
|
|
32
|
+
removeOnPointerUp(entity: Entity): void;
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
* Execute callback when the user press the InputButton pointing at the entity
|
|
36
|
+
* @param entity - Entity to attach the callback
|
|
37
|
+
* @param cb - Function to execute when click fires
|
|
38
|
+
* @param opts - Opts to trigger Feedback and Button
|
|
39
|
+
*/
|
|
40
|
+
onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
|
|
41
|
+
/**
|
|
42
|
+
* @public
|
|
43
|
+
* Execute callback when the user releases the InputButton pointing at the entity
|
|
44
|
+
* @param entity - Entity to attach the callback
|
|
45
|
+
* @param cb - Function to execute when click fires
|
|
46
|
+
* @param opts - Opts to trigger Feedback and Button
|
|
47
|
+
*/
|
|
48
|
+
onPointerUp(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void;
|
|
49
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createPointerEventsSystem = void 0;
|
|
27
|
+
const components = __importStar(require("../components"));
|
|
28
|
+
const entity_1 = require("../engine/entity");
|
|
29
|
+
const invariant_1 = require("../runtime/invariant");
|
|
30
|
+
/**
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
function createPointerEventsSystem(engine, inputSystem) {
|
|
34
|
+
const PointerEvents = components.PointerEvents(engine);
|
|
35
|
+
let EventType;
|
|
36
|
+
(function (EventType) {
|
|
37
|
+
EventType[EventType["Click"] = 0] = "Click";
|
|
38
|
+
EventType[EventType["Down"] = 1] = "Down";
|
|
39
|
+
EventType[EventType["Up"] = 2] = "Up";
|
|
40
|
+
})(EventType || (EventType = {}));
|
|
41
|
+
const getDefaultOpts = (opts = {}) => ({
|
|
42
|
+
button: 3 /* InputAction.IA_ANY */,
|
|
43
|
+
...opts
|
|
44
|
+
});
|
|
45
|
+
const eventsMap = new Map();
|
|
46
|
+
function getEvent(entity) {
|
|
47
|
+
return eventsMap.get(entity) || eventsMap.set(entity, new Map()).get(entity);
|
|
48
|
+
}
|
|
49
|
+
function setPointerEvent(entity, type, opts) {
|
|
50
|
+
if (opts.hoverText || opts.showFeedback) {
|
|
51
|
+
const pointerEvent = PointerEvents.getMutableOrNull(entity) || PointerEvents.create(entity);
|
|
52
|
+
pointerEvent.pointerEvents.push({
|
|
53
|
+
eventType: type,
|
|
54
|
+
eventInfo: {
|
|
55
|
+
button: opts.button,
|
|
56
|
+
showFeedback: opts.showFeedback,
|
|
57
|
+
hoverText: opts.hoverText,
|
|
58
|
+
maxDistance: opts.maxDistance
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function removePointerEvent(entity, type, button) {
|
|
64
|
+
const pointerEvent = PointerEvents.getMutableOrNull(entity);
|
|
65
|
+
if (!pointerEvent)
|
|
66
|
+
return;
|
|
67
|
+
pointerEvent.pointerEvents = pointerEvent.pointerEvents.filter((pointer) => !(pointer.eventInfo?.button === button && pointer.eventType === type));
|
|
68
|
+
}
|
|
69
|
+
function getPointerEvent(eventType) {
|
|
70
|
+
if (eventType === EventType.Up) {
|
|
71
|
+
return 0 /* PointerEventType.PET_UP */;
|
|
72
|
+
}
|
|
73
|
+
return 1 /* PointerEventType.PET_DOWN */;
|
|
74
|
+
}
|
|
75
|
+
function removeEvent(entity, type) {
|
|
76
|
+
const event = getEvent(entity);
|
|
77
|
+
const pointerEvent = event.get(type);
|
|
78
|
+
if (pointerEvent?.opts.hoverText) {
|
|
79
|
+
removePointerEvent(entity, getPointerEvent(type), pointerEvent.opts.button);
|
|
80
|
+
}
|
|
81
|
+
event.delete(type);
|
|
82
|
+
}
|
|
83
|
+
// @internal
|
|
84
|
+
engine.addSystem(function EventSystem() {
|
|
85
|
+
for (const [entity, event] of eventsMap) {
|
|
86
|
+
if (engine.getEntityState(entity) === entity_1.EntityState.Removed) {
|
|
87
|
+
eventsMap.delete(entity);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
for (const [eventType, { cb, opts }] of event) {
|
|
91
|
+
if (eventType === EventType.Click) {
|
|
92
|
+
const command = inputSystem.getClick(opts.button, entity);
|
|
93
|
+
if (command)
|
|
94
|
+
(0, invariant_1.checkNotThenable)(cb(command.up), 'Click event returned a thenable. Only synchronous functions are allowed');
|
|
95
|
+
}
|
|
96
|
+
if (eventType === EventType.Down || eventType === EventType.Up) {
|
|
97
|
+
const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
|
|
98
|
+
if (command) {
|
|
99
|
+
(0, invariant_1.checkNotThenable)(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
removeOnClick(entity) {
|
|
107
|
+
removeEvent(entity, EventType.Click);
|
|
108
|
+
},
|
|
109
|
+
removeOnPointerDown(entity) {
|
|
110
|
+
removeEvent(entity, EventType.Down);
|
|
111
|
+
},
|
|
112
|
+
removeOnPointerUp(entity) {
|
|
113
|
+
removeEvent(entity, EventType.Up);
|
|
114
|
+
},
|
|
115
|
+
onClick(entity, cb, opts) {
|
|
116
|
+
const options = getDefaultOpts(opts);
|
|
117
|
+
// Clear previous event with over feedback included
|
|
118
|
+
removeEvent(entity, EventType.Click);
|
|
119
|
+
// Set new event
|
|
120
|
+
getEvent(entity).set(EventType.Click, { cb, opts: options });
|
|
121
|
+
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
|
|
122
|
+
},
|
|
123
|
+
onPointerDown(entity, cb, opts) {
|
|
124
|
+
const options = getDefaultOpts(opts);
|
|
125
|
+
removeEvent(entity, EventType.Down);
|
|
126
|
+
getEvent(entity).set(EventType.Down, { cb, opts: options });
|
|
127
|
+
setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
|
|
128
|
+
},
|
|
129
|
+
onPointerUp(entity, cb, opts) {
|
|
130
|
+
const options = getDefaultOpts(opts);
|
|
131
|
+
removeEvent(entity, EventType.Up);
|
|
132
|
+
getEvent(entity).set(EventType.Up, { cb, opts: options });
|
|
133
|
+
setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
exports.createPointerEventsSystem = createPointerEventsSystem;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { RaycastQueryType, PBRaycastResult } from '../components';
|
|
2
|
+
import { DeepReadonlyObject, Entity } from '../engine';
|
|
3
|
+
import { Vector3 } from '../components/generated/pb/decentraland/common/vectors.gen';
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export type RaycastSystemCallback = (event: DeepReadonlyObject<PBRaycastResult>) => void;
|
|
8
|
+
/**
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export type RaycastSystemOptions = {
|
|
12
|
+
originOffset?: Vector3 | undefined;
|
|
13
|
+
maxDistance: number;
|
|
14
|
+
queryType: RaycastQueryType;
|
|
15
|
+
continuous?: boolean | undefined;
|
|
16
|
+
collisionMask?: number | undefined;
|
|
17
|
+
};
|
|
18
|
+
export type LocalDirectionRaycastSystemOptions = {
|
|
19
|
+
direction?: Vector3;
|
|
20
|
+
};
|
|
21
|
+
export type LocalDirectionRaycastOptions = RaycastSystemOptions & LocalDirectionRaycastSystemOptions;
|
|
22
|
+
export type GlobalDirectionRaycastSystemOptions = {
|
|
23
|
+
direction?: Vector3;
|
|
24
|
+
};
|
|
25
|
+
export type GlobalDirectionRaycastOptions = RaycastSystemOptions & GlobalDirectionRaycastSystemOptions;
|
|
26
|
+
export type GlobalTargetRaycastSystemOptions = {
|
|
27
|
+
target?: Vector3;
|
|
28
|
+
};
|
|
29
|
+
export type GlobalTargetRaycastOptions = RaycastSystemOptions & GlobalTargetRaycastSystemOptions;
|
|
30
|
+
export type TargetEntityRaycastSystemOptions = {
|
|
31
|
+
targetEntity?: number;
|
|
32
|
+
};
|
|
33
|
+
export type TargetEntityRaycastOptions = RaycastSystemOptions & TargetEntityRaycastSystemOptions;
|
|
34
|
+
/**
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export interface RaycastSystem {
|
|
38
|
+
/**
|
|
39
|
+
* @public
|
|
40
|
+
* Remove the callback for raycast event
|
|
41
|
+
* @param entity - Entity where the callback was attached
|
|
42
|
+
*/
|
|
43
|
+
removeRaycasterEntity(entity: Entity): void;
|
|
44
|
+
/**
|
|
45
|
+
* @public
|
|
46
|
+
* Execute callback when the entity receives a RaycastResult component update.
|
|
47
|
+
* Uses a Vector3 entity-local direction value to calculate the ray direction
|
|
48
|
+
* @param entity - Entity to attach the callback
|
|
49
|
+
* @param callback - Function to execute when the entity's RaycastResult component is updated
|
|
50
|
+
* @param options - Raycast configuration options
|
|
51
|
+
*/
|
|
52
|
+
registerLocalDirectionRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<LocalDirectionRaycastOptions>): void;
|
|
53
|
+
/**
|
|
54
|
+
* @public
|
|
55
|
+
* Execute callback when the entity receives a RaycastResult component update.
|
|
56
|
+
* Uses a Vector3 global direction value to calculate the ray direction
|
|
57
|
+
* @param entity - Entity to attach the callback
|
|
58
|
+
* @param callback - Function to execute when the entity's RaycastResult component is updated
|
|
59
|
+
* @param options - Raycast configuration options
|
|
60
|
+
*/
|
|
61
|
+
registerGlobalDirectionRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<GlobalDirectionRaycastOptions>): void;
|
|
62
|
+
/**
|
|
63
|
+
* @public
|
|
64
|
+
* Execute callback when the entity receives a RaycastResult component update.
|
|
65
|
+
* Uses a Vector3 global target position to calculate the ray direction
|
|
66
|
+
* @param entity - Entity to attach the callback
|
|
67
|
+
* @param callback - Function to execute when the entity's RaycastResult component is updated
|
|
68
|
+
* @param options - Raycast configuration options
|
|
69
|
+
*/
|
|
70
|
+
registerGlobalTargetRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<GlobalTargetRaycastOptions>): void;
|
|
71
|
+
/**
|
|
72
|
+
* @public
|
|
73
|
+
* Execute callback when the entity receives a RaycastResult component update.
|
|
74
|
+
* Uses an target Entity value to calculate the ray direction
|
|
75
|
+
* @param entity - Entity to attach the callback
|
|
76
|
+
* @param callback - Function to execute when the entity's RaycastResult component is updated
|
|
77
|
+
* @param options - Raycast configuration options
|
|
78
|
+
*/
|
|
79
|
+
registerTargetEntityRaycast(entity: Entity, callback: RaycastSystemCallback, options?: Partial<TargetEntityRaycastOptions>): void;
|
|
80
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createRaycastSystem = void 0;
|
|
27
|
+
const components = __importStar(require("../components"));
|
|
28
|
+
const entity_1 = require("../engine/entity");
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
function createRaycastSystem(engine) {
|
|
33
|
+
const raycastComponent = components.Raycast(engine);
|
|
34
|
+
const raycastResultComponent = components.RaycastResult(engine);
|
|
35
|
+
const entitiesCallbackResultMap = new Map();
|
|
36
|
+
const defaultOptions = {
|
|
37
|
+
maxDistance: 16,
|
|
38
|
+
queryType: 0 /* RaycastQueryType.RQT_HIT_FIRST */,
|
|
39
|
+
continuous: false,
|
|
40
|
+
originOffset: { x: 0, y: 0, z: 0 },
|
|
41
|
+
collisionMask: 2 /* ColliderLayer.CL_PHYSICS */
|
|
42
|
+
};
|
|
43
|
+
const getLocalDirectionRaycastDefaultOptions = (options = {}) => ({
|
|
44
|
+
...defaultOptions,
|
|
45
|
+
...options,
|
|
46
|
+
directionRawValue: {
|
|
47
|
+
$case: 'localDirection',
|
|
48
|
+
localDirection: options.direction || { x: 0, y: 0, z: 1 }
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const getGlobalDirectionRaycastDefaultOptions = (options = {}) => ({
|
|
52
|
+
...defaultOptions,
|
|
53
|
+
...options,
|
|
54
|
+
directionRawValue: {
|
|
55
|
+
$case: 'globalDirection',
|
|
56
|
+
globalDirection: options.direction || { x: 0, y: 0, z: 1 }
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const getGlobalTargetRaycastDefaultOptions = (options = {}) => ({
|
|
60
|
+
...defaultOptions,
|
|
61
|
+
...options,
|
|
62
|
+
directionRawValue: {
|
|
63
|
+
$case: 'globalTarget',
|
|
64
|
+
globalTarget: options.target || { x: 0, y: 0, z: 0 }
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const getTargetEntityRaycastDefaultOptions = (options = {}) => ({
|
|
68
|
+
...defaultOptions,
|
|
69
|
+
...options,
|
|
70
|
+
directionRawValue: {
|
|
71
|
+
$case: 'targetEntity',
|
|
72
|
+
targetEntity: options.targetEntity || 0
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
function registerRaycast(entity, callback, options) {
|
|
76
|
+
const raycast = raycastComponent.getOrCreateMutable(entity);
|
|
77
|
+
raycast.maxDistance = options.maxDistance;
|
|
78
|
+
raycast.originOffset = options.originOffset;
|
|
79
|
+
raycast.collisionMask = options.collisionMask;
|
|
80
|
+
raycast.direction = options.directionRawValue;
|
|
81
|
+
raycast.continuous = options.continuous;
|
|
82
|
+
raycast.queryType = options.queryType;
|
|
83
|
+
entitiesCallbackResultMap.set(entity, { callback: callback });
|
|
84
|
+
}
|
|
85
|
+
function removeRaycast(entity) {
|
|
86
|
+
raycastComponent.deleteFrom(entity);
|
|
87
|
+
raycastResultComponent.deleteFrom(entity);
|
|
88
|
+
entitiesCallbackResultMap.delete(entity);
|
|
89
|
+
}
|
|
90
|
+
// @internal
|
|
91
|
+
engine.addSystem(function EventSystem() {
|
|
92
|
+
for (const [entity, data] of entitiesCallbackResultMap) {
|
|
93
|
+
const raycast = raycastComponent.getOrNull(entity);
|
|
94
|
+
if (engine.getEntityState(entity) === entity_1.EntityState.Removed || !raycast) {
|
|
95
|
+
entitiesCallbackResultMap.delete(entity);
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const currentResult = raycastResultComponent.getOrNull(entity);
|
|
99
|
+
if (!currentResult)
|
|
100
|
+
continue;
|
|
101
|
+
data.callback(currentResult);
|
|
102
|
+
if (!raycast.continuous)
|
|
103
|
+
removeRaycast(entity);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
removeRaycasterEntity(entity) {
|
|
108
|
+
removeRaycast(entity);
|
|
109
|
+
},
|
|
110
|
+
registerLocalDirectionRaycast(entity, callback, opts) {
|
|
111
|
+
registerRaycast(entity, callback, getLocalDirectionRaycastDefaultOptions(opts));
|
|
112
|
+
},
|
|
113
|
+
registerGlobalDirectionRaycast(entity, callback, opts) {
|
|
114
|
+
registerRaycast(entity, callback, getGlobalDirectionRaycastDefaultOptions(opts));
|
|
115
|
+
},
|
|
116
|
+
registerGlobalTargetRaycast(entity, callback, opts) {
|
|
117
|
+
registerRaycast(entity, callback, getGlobalTargetRaycastDefaultOptions(opts));
|
|
118
|
+
},
|
|
119
|
+
registerTargetEntityRaycast(entity, callback, opts) {
|
|
120
|
+
registerRaycast(entity, callback, getTargetEntityRaycastDefaultOptions(opts));
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
exports.createRaycastSystem = createRaycastSystem;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DeepReadonlyObject, Entity } from '../engine';
|
|
2
|
+
import { PBVideoEvent } from '../components';
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export type VideoEventsSystemCallback = (event: DeepReadonlyObject<PBVideoEvent>) => void;
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface VideoEventsSystem {
|
|
11
|
+
removeVideoEventsEntity(entity: Entity): void;
|
|
12
|
+
registerVideoEventsEntity(entity: Entity, callback: VideoEventsSystemCallback): void;
|
|
13
|
+
hasVideoEventsEntity(entity: Entity): boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createVideoEventsSystem = void 0;
|
|
27
|
+
const components = __importStar(require("../components"));
|
|
28
|
+
const entity_1 = require("../engine/entity");
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
function createVideoEventsSystem(engine) {
|
|
33
|
+
const videoPlayerComponent = components.VideoPlayer(engine);
|
|
34
|
+
const videoEventComponent = components.VideoEvent(engine);
|
|
35
|
+
const entitiesCallbackVideoStateMap = new Map();
|
|
36
|
+
function registerVideoEventsEntity(entity, callback) {
|
|
37
|
+
// video event component is not added here because the renderer adds it
|
|
38
|
+
// to every entity with a VideoPlayer component
|
|
39
|
+
entitiesCallbackVideoStateMap.set(entity, { callback: callback });
|
|
40
|
+
}
|
|
41
|
+
function removeVideoEventsEntity(entity) {
|
|
42
|
+
entitiesCallbackVideoStateMap.delete(entity);
|
|
43
|
+
}
|
|
44
|
+
function hasVideoEventsEntity(entity) {
|
|
45
|
+
return entitiesCallbackVideoStateMap.has(entity);
|
|
46
|
+
}
|
|
47
|
+
// @internal
|
|
48
|
+
engine.addSystem(function EventSystem() {
|
|
49
|
+
for (const [entity, data] of entitiesCallbackVideoStateMap) {
|
|
50
|
+
const videoPlayer = videoPlayerComponent.getOrNull(entity);
|
|
51
|
+
if (engine.getEntityState(entity) === entity_1.EntityState.Removed || !videoPlayer) {
|
|
52
|
+
removeVideoEventsEntity(entity);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
// Compare with last state
|
|
56
|
+
const videoEvent = videoEventComponent.get(entity);
|
|
57
|
+
const values = videoEvent.values();
|
|
58
|
+
const valuesAmount = videoEvent.size;
|
|
59
|
+
let latestVideoEventComponentState = undefined;
|
|
60
|
+
// get latest component state
|
|
61
|
+
let index = 0;
|
|
62
|
+
for (const value of values) {
|
|
63
|
+
if (index === valuesAmount - 1)
|
|
64
|
+
latestVideoEventComponentState = value;
|
|
65
|
+
index++;
|
|
66
|
+
}
|
|
67
|
+
if (latestVideoEventComponentState === undefined ||
|
|
68
|
+
(data.lastVideoState !== undefined && data.lastVideoState === latestVideoEventComponentState.state))
|
|
69
|
+
continue;
|
|
70
|
+
data.callback(latestVideoEventComponentState);
|
|
71
|
+
entitiesCallbackVideoStateMap.set(entity, {
|
|
72
|
+
callback: data.callback,
|
|
73
|
+
lastVideoState: latestVideoEventComponentState.state
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
removeVideoEventsEntity(entity) {
|
|
79
|
+
removeVideoEventsEntity(entity);
|
|
80
|
+
},
|
|
81
|
+
registerVideoEventsEntity(entity, callback) {
|
|
82
|
+
registerVideoEventsEntity(entity, callback);
|
|
83
|
+
},
|
|
84
|
+
hasVideoEventsEntity(entity) {
|
|
85
|
+
return hasVideoEventsEntity(entity);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
exports.createVideoEventsSystem = createVideoEventsSystem;
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/ecs",
|
|
3
3
|
"description": "Decentraland ECS",
|
|
4
|
-
"version": "7.1.12-
|
|
4
|
+
"version": "7.1.12-4983011170.commit-adaaaa2",
|
|
5
5
|
"author": "DCL",
|
|
6
6
|
"bugs": "https://github.com/decentraland/ecs/issues",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@dcl/js-runtime": "7.1.12-
|
|
8
|
+
"@dcl/js-runtime": "7.1.12-4983011170.commit-adaaaa2"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
|
+
"dist-cjs",
|
|
12
13
|
"etc"
|
|
13
14
|
],
|
|
14
15
|
"homepage": "https://github.com/decentraland/ecs#readme",
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
"directory": "packages/@dcl/ecs"
|
|
25
26
|
},
|
|
26
27
|
"scripts": {
|
|
27
|
-
"build": "tsc -p tsconfig.json"
|
|
28
|
+
"build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json"
|
|
28
29
|
},
|
|
29
30
|
"typedoc": {
|
|
30
31
|
"entryPoint": "./src/index.ts",
|
|
@@ -34,5 +35,5 @@
|
|
|
34
35
|
},
|
|
35
36
|
"types": "./dist/index.d.ts",
|
|
36
37
|
"typings": "./dist/index.d.ts",
|
|
37
|
-
"commit": "
|
|
38
|
+
"commit": "adaaaa2d4cd6e50fe3d5bbd76cbcb3779aa3da51"
|
|
38
39
|
}
|