@dcl/ecs 7.20.4-22561917759.commit-d944d0d → 7.20.4-22576263908.commit-9ddd8ad

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 (215) 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 +0 -90
  10. package/dist/components/extended/Tween.js +0 -152
  11. package/dist/components/generated/AvatarMovement.gen.d.ts +1 -0
  12. package/dist/components/generated/AvatarMovement.gen.js +25 -0
  13. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
  14. package/dist/components/generated/AvatarMovementInfo.gen.js +25 -0
  15. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  16. package/dist/components/generated/CameraLayer.gen.js +25 -0
  17. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  18. package/dist/components/generated/CameraLayers.gen.js +25 -0
  19. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  20. package/dist/components/generated/GlobalLight.gen.js +25 -0
  21. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  22. package/dist/components/generated/GltfNode.gen.js +25 -0
  23. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  24. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  25. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  26. package/dist/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +7 -7
  27. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  28. package/dist/components/generated/UiCanvas.gen.js +25 -0
  29. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  30. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  31. package/dist/components/generated/component-names.gen.js +10 -1
  32. package/dist/components/generated/global.gen.d.ts +20 -2
  33. package/dist/components/generated/global.gen.js +10 -1
  34. package/dist/components/generated/index.gen.d.ts +40 -4
  35. package/dist/components/generated/index.gen.js +50 -5
  36. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  37. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  38. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  39. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  40. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
  42. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +18 -0
  43. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +60 -0
  44. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +28 -0
  45. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +106 -0
  46. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  47. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  48. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  49. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  53. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  54. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +3 -9
  55. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -10
  56. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  57. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  58. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  59. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  60. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  61. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  62. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  64. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  65. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  66. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  67. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  69. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +1 -5
  71. package/dist/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +1 -20
  72. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  73. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  74. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  75. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +30 -0
  76. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  77. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  78. package/dist/components/generated/pb/decentraland/sdk/components/tween.gen.d.ts +0 -40
  79. package/dist/components/generated/pb/decentraland/sdk/components/tween.gen.js +0 -176
  80. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  81. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  82. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  83. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  84. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  85. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  86. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  87. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  88. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
  89. package/dist/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
  90. package/dist/components/index.d.ts +11 -11
  91. package/dist/components/index.js +11 -8
  92. package/dist/components/types.d.ts +3 -2
  93. package/dist/engine/grow-only-value-set-component-definition.js +1 -1
  94. package/dist/engine/input.d.ts +6 -0
  95. package/dist/engine/input.js +9 -4
  96. package/dist/index.d.ts +2 -2
  97. package/dist/index.js +1 -1
  98. package/dist/runtime/globals.d.ts +12 -2
  99. package/dist/runtime/globals.js +4 -3
  100. package/dist/systems/events.d.ts +100 -1
  101. package/dist/systems/events.js +143 -65
  102. package/dist/systems/raycast.d.ts +3 -1
  103. package/dist/systems/raycast.js +2 -0
  104. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  105. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  106. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  107. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  108. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  109. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  110. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  111. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  112. package/dist-cjs/components/extended/Tween.d.ts +0 -90
  113. package/dist-cjs/components/extended/Tween.js +0 -152
  114. package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
  115. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
  116. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +1 -0
  117. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  118. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  119. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  120. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  121. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  122. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  123. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  124. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  125. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  126. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  127. package/dist-cjs/components/generated/{AudioAnalysis.gen.js → TextureCamera.gen.js} +8 -8
  128. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  129. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  130. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  131. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  132. package/dist-cjs/components/generated/component-names.gen.js +10 -1
  133. package/dist-cjs/components/generated/global.gen.d.ts +20 -2
  134. package/dist-cjs/components/generated/global.gen.js +12 -2
  135. package/dist-cjs/components/generated/index.gen.d.ts +40 -4
  136. package/dist-cjs/components/generated/index.gen.js +62 -8
  137. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  138. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +18 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +66 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +28 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +112 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +3 -9
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +4 -11
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  169. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  170. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  171. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +1 -5
  172. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +1 -20
  173. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  174. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  175. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  176. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
  177. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  178. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  179. package/dist-cjs/components/generated/pb/decentraland/sdk/components/tween.gen.d.ts +0 -40
  180. package/dist-cjs/components/generated/pb/decentraland/sdk/components/tween.gen.js +1 -177
  181. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  182. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  183. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  184. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  185. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  186. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  187. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  188. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  189. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.d.ts +0 -3
  190. package/dist-cjs/components/generated/pb/decentraland/sdk/components/virtual_camera.gen.js +1 -10
  191. package/dist-cjs/components/index.d.ts +11 -11
  192. package/dist-cjs/components/index.js +15 -11
  193. package/dist-cjs/components/types.d.ts +3 -2
  194. package/dist-cjs/engine/grow-only-value-set-component-definition.js +1 -1
  195. package/dist-cjs/engine/input.d.ts +6 -0
  196. package/dist-cjs/engine/input.js +9 -4
  197. package/dist-cjs/index.d.ts +2 -2
  198. package/dist-cjs/index.js +2 -2
  199. package/dist-cjs/runtime/globals.d.ts +12 -2
  200. package/dist-cjs/runtime/globals.js +4 -3
  201. package/dist-cjs/systems/events.d.ts +100 -1
  202. package/dist-cjs/systems/events.js +143 -65
  203. package/dist-cjs/systems/raycast.d.ts +3 -1
  204. package/dist-cjs/systems/raycast.js +2 -0
  205. package/package.json +2 -2
  206. package/dist/components/extended/AudioAnalysis.d.ts +0 -55
  207. package/dist/components/extended/AudioAnalysis.js +0 -66
  208. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
  209. package/dist/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -161
  210. package/dist-cjs/components/extended/AudioAnalysis.d.ts +0 -55
  211. package/dist-cjs/components/extended/AudioAnalysis.js +0 -70
  212. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.d.ts +0 -37
  213. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_analysis.gen.js +0 -167
  214. /package/dist-cjs/components/generated/{AudioAnalysis.gen.d.ts → AvatarMovement.gen.d.ts} +0 -0
  215. /package/{dist/components/generated/AudioAnalysis.gen.d.ts → dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts} +0 -0
@@ -45,6 +45,9 @@ 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["Drag"] = 5] = "Drag";
49
+ EventType[EventType["DragLocked"] = 6] = "DragLocked";
50
+ EventType[EventType["DragEnd"] = 7] = "DragEnd";
48
51
  })(EventType || (EventType = {}));
49
52
  const eventsMap = new Map();
50
53
  function getEvent(entity) {
@@ -80,77 +83,148 @@ function createPointerEventsSystem(engine, inputSystem) {
80
83
  else if (eventType === EventType.HoverEnter) {
81
84
  return 2 /* PointerEventType.PET_HOVER_ENTER */;
82
85
  }
86
+ else if (eventType === EventType.Drag) {
87
+ return 5 /* PointerEventType.PET_DRAG */;
88
+ }
89
+ else if (eventType === EventType.DragLocked) {
90
+ return 4 /* PointerEventType.PET_DRAG_LOCKED */;
91
+ }
92
+ else if (eventType === EventType.DragEnd) {
93
+ return 6 /* PointerEventType.PET_DRAG_END */;
94
+ }
83
95
  return 1 /* PointerEventType.PET_DOWN */;
84
96
  }
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 === 5 /* PointerEventType.PET_DRAG */) {
108
+ return EventType.Drag;
109
+ }
110
+ else if (pet === 4 /* PointerEventType.PET_DRAG_LOCKED */) {
111
+ return EventType.DragLocked;
112
+ }
113
+ else if (pet === 6 /* PointerEventType.PET_DRAG_END */) {
114
+ return EventType.DragEnd;
115
+ }
116
+ else {
117
+ return EventType.Down;
118
+ }
119
+ }
85
120
  function removeEvent(entity, type) {
86
121
  const event = getEvent(entity);
87
- const pointerEvent = event.get(type);
88
- if (pointerEvent?.opts.hoverText) {
89
- 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);
90
128
  }
91
129
  event.delete(type);
92
130
  }
93
131
  engine.addSystem(function EventSystem() {
94
- for (const [entity, event] of eventsMap) {
132
+ if (eventsMap.size === 0) {
133
+ return;
134
+ }
135
+ for (const entity of eventsMap.keys()) {
95
136
  if (engine.getEntityState(entity) === entity_1.EntityState.Removed) {
96
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) {
97
147
  continue;
98
148
  }
99
- for (const [eventType, { cb, opts }] of event) {
100
- if (eventType === EventType.Click) {
101
- const command = inputSystem.getClick(opts.button, entity);
102
- if (command)
103
- (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');
104
154
  }
105
- if (eventType === EventType.Down ||
106
- eventType === EventType.Up ||
107
- eventType === EventType.HoverEnter ||
108
- eventType === EventType.HoverLeave) {
109
- const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
110
- if (command) {
111
- (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');
112
171
  }
113
172
  }
114
173
  }
115
174
  }
116
175
  });
117
- const onPointerDown = (...args) => {
118
- const [data, cb, maybeOpts] = args;
119
- if (typeof data === 'number') {
120
- return onPointerDown({ entity: data, opts: maybeOpts ?? {} }, cb);
121
- }
122
- const { entity, opts } = data;
123
- const options = (0, exports.getDefaultOpts)(opts);
124
- removeEvent(entity, EventType.Down);
125
- getEvent(entity).set(EventType.Down, { cb, opts: options });
126
- setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
127
- };
128
- const onPointerUp = (...args) => {
129
- const [data, cb, maybeOpts] = args;
130
- if (typeof data === 'number') {
131
- return onPointerUp({ entity: data, opts: maybeOpts ?? {} }, cb);
132
- }
133
- const { entity, opts } = data;
134
- const options = (0, exports.getDefaultOpts)(opts);
135
- removeEvent(entity, EventType.Up);
136
- getEvent(entity).set(EventType.Up, { cb, opts: options });
137
- setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options);
138
- };
139
- const onPointerHoverEnter = (...args) => {
140
- const [data, cb] = args;
141
- const { entity, opts } = data;
142
- const options = (0, exports.getDefaultOpts)(opts);
143
- removeEvent(entity, EventType.HoverEnter);
144
- getEvent(entity).set(EventType.HoverEnter, { cb, opts: options });
145
- setPointerEvent(entity, 2 /* PointerEventType.PET_HOVER_ENTER */, options);
146
- };
147
- const onPointerHoverLeave = (...args) => {
148
- const [data, cb] = args;
149
- const { entity, opts } = data;
150
- const options = (0, exports.getDefaultOpts)(opts);
151
- removeEvent(entity, EventType.HoverLeave);
152
- getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
153
- setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
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
+ };
154
228
  };
155
229
  return {
156
230
  removeOnClick(entity) {
@@ -168,19 +242,23 @@ function createPointerEventsSystem(engine, inputSystem) {
168
242
  removeOnPointerHoverLeave(entity) {
169
243
  removeEvent(entity, EventType.HoverLeave);
170
244
  },
171
- onClick(value, cb) {
172
- const { entity } = value;
173
- const options = (0, exports.getDefaultOpts)(value.opts);
174
- // Clear previous event with over feedback included
175
- removeEvent(entity, EventType.Click);
176
- // Set new event
177
- getEvent(entity).set(EventType.Click, { cb, opts: options });
178
- setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
245
+ removeOnPointerDrag(entity) {
246
+ removeEvent(entity, EventType.Drag);
247
+ },
248
+ removeOnPointerDragLocked(entity) {
249
+ removeEvent(entity, EventType.DragLocked);
250
+ },
251
+ removeOnPointerDragEnd(entity) {
252
+ removeEvent(entity, EventType.DragEnd);
179
253
  },
180
- onPointerDown,
181
- onPointerUp,
182
- onPointerHoverEnter,
183
- onPointerHoverLeave
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)
184
262
  };
185
263
  }
186
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.20.4-22561917759.commit-d944d0d",
4
+ "version": "7.20.4-22576263908.commit-9ddd8ad",
5
5
  "author": "DCL",
6
6
  "bugs": "https://github.com/decentraland/ecs/issues",
7
7
  "files": [
@@ -33,5 +33,5 @@
33
33
  },
34
34
  "types": "./dist/index.d.ts",
35
35
  "typings": "./dist/index.d.ts",
36
- "commit": "d944d0d2c33610fa8151a4f771063e28c84ed187"
36
+ "commit": "9ddd8ad065bf1b8e84f155762c65309f0c157967"
37
37
  }
@@ -1,55 +0,0 @@
1
- import { Entity, IEngine } from '../../engine';
2
- import { LastWriteWinElementSetComponentDefinition } from '../../engine/component';
3
- import { PBAudioAnalysis, PBAudioAnalysisMode } from '../generated/pb/decentraland/sdk/components/audio_analysis.gen';
4
- export interface AudioAnalysisComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBAudioAnalysis> {
5
- /**
6
- * Reads the component data of `entity` into the provided `out` view.
7
- *
8
- * @throws Error if the entity does not have an AudioAnalysis component.
9
- * @param entity - The entity whose AudioAnalysis data will be read.
10
- * @param out - An existing AudioAnalysisView to populate with the latest values.
11
- */
12
- readIntoView(entity: Entity, out: AudioAnalysisView): void;
13
- /**
14
- * Attempts to read the component data of `entity` into the provided `out` view.
15
- *
16
- * @returns `true` if the component exists and data was written into `out`,
17
- * `false` if the entity does not have an AudioAnalysis component.
18
- * @param entity - The entity whose AudioAnalysis data will be read.
19
- * @param out - An existing AudioAnalysisView to populate.
20
- */
21
- tryReadIntoView(entity: Entity, out: AudioAnalysisView): boolean;
22
- /**
23
- * Creates an AudioAnalysis component for the given `entity`.
24
- *
25
- * If a component already exists on the entity, this call fails (does not replace).
26
- *
27
- * @param entity - The entity to attach the component to.
28
- * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
29
- * @param amplitudeGain - Optional amplitude gain multiplier.
30
- * @param bandsGain - Optional gain multiplier applied to all frequency bands.
31
- */
32
- createAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
33
- amplitudeGain?: number, bandsGain?: number): void;
34
- /**
35
- * Creates the AudioAnalysis component if missing, or replaces the existing one.
36
- *
37
- * @param entity - The target entity.
38
- * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
39
- * @param amplitudeGain - Optional amplitude gain multiplier.
40
- * @param bandsGain - Optional gain multiplier applied to the frequency bands.
41
- */
42
- createOrReplaceAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
43
- amplitudeGain?: number, bandsGain?: number): void;
44
- }
45
- /**
46
- * A read-only JavaScript-friendly view of AudioAnalysis ECS data.
47
- *
48
- * `amplitude` represents the aggregated signal strength.
49
- * `bands` represents the processed frequency bands.
50
- */
51
- export type AudioAnalysisView = {
52
- amplitude: number;
53
- bands: number[];
54
- };
55
- export declare function defineAudioAnalysisComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AudioAnalysisComponentDefinitionExtended;
@@ -1,66 +0,0 @@
1
- import { AudioAnalysis } from '../generated/index.gen';
2
- export function defineAudioAnalysisComponent(engine) {
3
- const theComponent = AudioAnalysis(engine);
4
- return {
5
- ...theComponent,
6
- readIntoView(entity, out) {
7
- const audioAnalysis = theComponent.get(entity);
8
- out.amplitude = audioAnalysis.amplitude;
9
- out.bands[0] = audioAnalysis.band0;
10
- out.bands[1] = audioAnalysis.band1;
11
- out.bands[2] = audioAnalysis.band2;
12
- out.bands[3] = audioAnalysis.band3;
13
- out.bands[4] = audioAnalysis.band4;
14
- out.bands[5] = audioAnalysis.band5;
15
- out.bands[6] = audioAnalysis.band6;
16
- out.bands[7] = audioAnalysis.band7;
17
- },
18
- tryReadIntoView(entity, out) {
19
- const audioAnalysis = theComponent.getOrNull(entity);
20
- if (!audioAnalysis)
21
- return false;
22
- out.amplitude = audioAnalysis.amplitude;
23
- out.bands[0] = audioAnalysis.band0;
24
- out.bands[1] = audioAnalysis.band1;
25
- out.bands[2] = audioAnalysis.band2;
26
- out.bands[3] = audioAnalysis.band3;
27
- out.bands[4] = audioAnalysis.band4;
28
- out.bands[5] = audioAnalysis.band5;
29
- out.bands[6] = audioAnalysis.band6;
30
- out.bands[7] = audioAnalysis.band7;
31
- return true;
32
- },
33
- createAudioAnalysis(entity, mode, amplitudeGain, bandsGain) {
34
- theComponent.create(entity, {
35
- mode: mode || 1 /* PBAudioAnalysisMode.MODE_LOGARITHMIC */,
36
- amplitudeGain: amplitudeGain ?? undefined,
37
- bandsGain: bandsGain ?? undefined,
38
- amplitude: 0,
39
- band0: 0,
40
- band1: 0,
41
- band2: 0,
42
- band3: 0,
43
- band4: 0,
44
- band5: 0,
45
- band6: 0,
46
- band7: 0
47
- });
48
- },
49
- createOrReplaceAudioAnalysis(entity, mode, amplitudeGain, bandsGain) {
50
- theComponent.createOrReplace(entity, {
51
- mode: mode || 1 /* PBAudioAnalysisMode.MODE_LOGARITHMIC */,
52
- amplitudeGain: amplitudeGain ?? undefined,
53
- bandsGain: bandsGain ?? undefined,
54
- amplitude: 0,
55
- band0: 0,
56
- band1: 0,
57
- band2: 0,
58
- band3: 0,
59
- band4: 0,
60
- band5: 0,
61
- band6: 0,
62
- band7: 0
63
- });
64
- }
65
- };
66
- }
@@ -1,37 +0,0 @@
1
- import _m0 from "protobufjs/minimal";
2
- /**
3
- * @public
4
- */
5
- export declare const enum PBAudioAnalysisMode {
6
- MODE_RAW = 0,
7
- MODE_LOGARITHMIC = 1
8
- }
9
- /**
10
- * @public
11
- */
12
- export interface PBAudioAnalysis {
13
- /** Parameters section */
14
- mode: PBAudioAnalysisMode;
15
- /** Used only when mode == MODE_LOGARITHMIC */
16
- amplitudeGain?: number | undefined;
17
- /** End when mode == MODE_LOGARITHMIC */
18
- bandsGain?: number | undefined;
19
- /** Result section */
20
- amplitude: number;
21
- /** Protobuf doesn't support fixed arrays -> 8 band fields */
22
- band0: number;
23
- band1: number;
24
- band2: number;
25
- band3: number;
26
- band4: number;
27
- band5: number;
28
- band6: number;
29
- band7: number;
30
- }
31
- /**
32
- * @public
33
- */
34
- export declare namespace PBAudioAnalysis {
35
- function encode(message: PBAudioAnalysis, writer?: _m0.Writer): _m0.Writer;
36
- function decode(input: _m0.Reader | Uint8Array, length?: number): PBAudioAnalysis;
37
- }
@@ -1,161 +0,0 @@
1
- /* eslint-disable */
2
- import _m0 from "protobufjs/minimal";
3
- const protobufPackageSarasa = "decentraland.sdk.components";
4
- /**
5
- * @public
6
- */
7
- export var PBAudioAnalysisMode;
8
- (function (PBAudioAnalysisMode) {
9
- PBAudioAnalysisMode[PBAudioAnalysisMode["MODE_RAW"] = 0] = "MODE_RAW";
10
- PBAudioAnalysisMode[PBAudioAnalysisMode["MODE_LOGARITHMIC"] = 1] = "MODE_LOGARITHMIC";
11
- })(PBAudioAnalysisMode || (PBAudioAnalysisMode = {}));
12
- function createBasePBAudioAnalysis() {
13
- return {
14
- mode: 0,
15
- amplitudeGain: undefined,
16
- bandsGain: undefined,
17
- amplitude: 0,
18
- band0: 0,
19
- band1: 0,
20
- band2: 0,
21
- band3: 0,
22
- band4: 0,
23
- band5: 0,
24
- band6: 0,
25
- band7: 0,
26
- };
27
- }
28
- /**
29
- * @public
30
- */
31
- export var PBAudioAnalysis;
32
- (function (PBAudioAnalysis) {
33
- function encode(message, writer = _m0.Writer.create()) {
34
- if (message.mode !== 0) {
35
- writer.uint32(8).int32(message.mode);
36
- }
37
- if (message.amplitudeGain !== undefined) {
38
- writer.uint32(805).float(message.amplitudeGain);
39
- }
40
- if (message.bandsGain !== undefined) {
41
- writer.uint32(813).float(message.bandsGain);
42
- }
43
- if (message.amplitude !== 0) {
44
- writer.uint32(1605).float(message.amplitude);
45
- }
46
- if (message.band0 !== 0) {
47
- writer.uint32(1613).float(message.band0);
48
- }
49
- if (message.band1 !== 0) {
50
- writer.uint32(1621).float(message.band1);
51
- }
52
- if (message.band2 !== 0) {
53
- writer.uint32(1629).float(message.band2);
54
- }
55
- if (message.band3 !== 0) {
56
- writer.uint32(1637).float(message.band3);
57
- }
58
- if (message.band4 !== 0) {
59
- writer.uint32(1645).float(message.band4);
60
- }
61
- if (message.band5 !== 0) {
62
- writer.uint32(1653).float(message.band5);
63
- }
64
- if (message.band6 !== 0) {
65
- writer.uint32(1661).float(message.band6);
66
- }
67
- if (message.band7 !== 0) {
68
- writer.uint32(1669).float(message.band7);
69
- }
70
- return writer;
71
- }
72
- PBAudioAnalysis.encode = encode;
73
- function decode(input, length) {
74
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
75
- let end = length === undefined ? reader.len : reader.pos + length;
76
- const message = createBasePBAudioAnalysis();
77
- while (reader.pos < end) {
78
- const tag = reader.uint32();
79
- switch (tag >>> 3) {
80
- case 1:
81
- if (tag !== 8) {
82
- break;
83
- }
84
- message.mode = reader.int32();
85
- continue;
86
- case 100:
87
- if (tag !== 805) {
88
- break;
89
- }
90
- message.amplitudeGain = reader.float();
91
- continue;
92
- case 101:
93
- if (tag !== 813) {
94
- break;
95
- }
96
- message.bandsGain = reader.float();
97
- continue;
98
- case 200:
99
- if (tag !== 1605) {
100
- break;
101
- }
102
- message.amplitude = reader.float();
103
- continue;
104
- case 201:
105
- if (tag !== 1613) {
106
- break;
107
- }
108
- message.band0 = reader.float();
109
- continue;
110
- case 202:
111
- if (tag !== 1621) {
112
- break;
113
- }
114
- message.band1 = reader.float();
115
- continue;
116
- case 203:
117
- if (tag !== 1629) {
118
- break;
119
- }
120
- message.band2 = reader.float();
121
- continue;
122
- case 204:
123
- if (tag !== 1637) {
124
- break;
125
- }
126
- message.band3 = reader.float();
127
- continue;
128
- case 205:
129
- if (tag !== 1645) {
130
- break;
131
- }
132
- message.band4 = reader.float();
133
- continue;
134
- case 206:
135
- if (tag !== 1653) {
136
- break;
137
- }
138
- message.band5 = reader.float();
139
- continue;
140
- case 207:
141
- if (tag !== 1661) {
142
- break;
143
- }
144
- message.band6 = reader.float();
145
- continue;
146
- case 208:
147
- if (tag !== 1669) {
148
- break;
149
- }
150
- message.band7 = reader.float();
151
- continue;
152
- }
153
- if ((tag & 7) === 4 || tag === 0) {
154
- break;
155
- }
156
- reader.skipType(tag & 7);
157
- }
158
- return message;
159
- }
160
- PBAudioAnalysis.decode = decode;
161
- })(PBAudioAnalysis || (PBAudioAnalysis = {}));
@@ -1,55 +0,0 @@
1
- import { Entity, IEngine } from '../../engine';
2
- import { LastWriteWinElementSetComponentDefinition } from '../../engine/component';
3
- import { PBAudioAnalysis, PBAudioAnalysisMode } from '../generated/pb/decentraland/sdk/components/audio_analysis.gen';
4
- export interface AudioAnalysisComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBAudioAnalysis> {
5
- /**
6
- * Reads the component data of `entity` into the provided `out` view.
7
- *
8
- * @throws Error if the entity does not have an AudioAnalysis component.
9
- * @param entity - The entity whose AudioAnalysis data will be read.
10
- * @param out - An existing AudioAnalysisView to populate with the latest values.
11
- */
12
- readIntoView(entity: Entity, out: AudioAnalysisView): void;
13
- /**
14
- * Attempts to read the component data of `entity` into the provided `out` view.
15
- *
16
- * @returns `true` if the component exists and data was written into `out`,
17
- * `false` if the entity does not have an AudioAnalysis component.
18
- * @param entity - The entity whose AudioAnalysis data will be read.
19
- * @param out - An existing AudioAnalysisView to populate.
20
- */
21
- tryReadIntoView(entity: Entity, out: AudioAnalysisView): boolean;
22
- /**
23
- * Creates an AudioAnalysis component for the given `entity`.
24
- *
25
- * If a component already exists on the entity, this call fails (does not replace).
26
- *
27
- * @param entity - The entity to attach the component to.
28
- * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
29
- * @param amplitudeGain - Optional amplitude gain multiplier.
30
- * @param bandsGain - Optional gain multiplier applied to all frequency bands.
31
- */
32
- createAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
33
- amplitudeGain?: number, bandsGain?: number): void;
34
- /**
35
- * Creates the AudioAnalysis component if missing, or replaces the existing one.
36
- *
37
- * @param entity - The target entity.
38
- * @param mode - Analysis mode. Defaults to `PBAudioAnalysisMode.MODE_LOGARITHMIC`.
39
- * @param amplitudeGain - Optional amplitude gain multiplier.
40
- * @param bandsGain - Optional gain multiplier applied to the frequency bands.
41
- */
42
- createOrReplaceAudioAnalysis(entity: Entity, mode?: PBAudioAnalysisMode, // default is PBAudioAnalysisMode.MODE_LOGARITHMIC
43
- amplitudeGain?: number, bandsGain?: number): void;
44
- }
45
- /**
46
- * A read-only JavaScript-friendly view of AudioAnalysis ECS data.
47
- *
48
- * `amplitude` represents the aggregated signal strength.
49
- * `bands` represents the processed frequency bands.
50
- */
51
- export type AudioAnalysisView = {
52
- amplitude: number;
53
- bands: number[];
54
- };
55
- export declare function defineAudioAnalysisComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AudioAnalysisComponentDefinitionExtended;