@dcl/ecs 7.22.5 → 7.22.6-25007982108.commit-83012ab

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