@dcl/ecs 7.31.1-40536151736.commit-a09f320 → 7.31.1-40606969412.commit-24c05c3

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 (181) hide show
  1. package/dist/components/extended/AvatarEquippedData.d.ts +15 -0
  2. package/dist/components/extended/AvatarEquippedData.js +10 -0
  3. package/dist/components/extended/AvatarShape.d.ts +15 -0
  4. package/dist/components/extended/AvatarShape.js +10 -0
  5. package/dist/components/extended/MeshCollider.d.ts +9 -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/generated/AvatarMovement.gen.d.ts +1 -0
  10. package/dist/components/generated/AvatarMovement.gen.js +25 -0
  11. package/dist/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
  12. package/dist/components/generated/AvatarMovementInfo.gen.js +25 -0
  13. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  14. package/dist/components/generated/CameraLayer.gen.js +25 -0
  15. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  16. package/dist/components/generated/CameraLayers.gen.js +25 -0
  17. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  18. package/dist/components/generated/GlobalLight.gen.js +25 -0
  19. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  20. package/dist/components/generated/GltfNode.gen.js +25 -0
  21. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  22. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  23. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  24. package/dist/components/generated/TextureCamera.gen.js +25 -0
  25. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  26. package/dist/components/generated/UiCanvas.gen.js +25 -0
  27. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  28. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  29. package/dist/components/generated/component-names.gen.js +10 -0
  30. package/dist/components/generated/global.gen.d.ts +20 -4
  31. package/dist/components/generated/global.gen.js +10 -2
  32. package/dist/components/generated/index.gen.d.ts +40 -0
  33. package/dist/components/generated/index.gen.js +50 -0
  34. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  35. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  36. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  37. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  38. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +2 -0
  39. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +10 -1
  40. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +57 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +204 -0
  42. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +65 -0
  43. package/dist/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +228 -0
  44. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  45. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  46. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  47. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  48. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  49. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +2 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +10 -1
  52. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  53. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  54. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  55. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  56. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  57. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  58. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  59. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  60. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  61. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  62. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  64. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  65. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  67. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  69. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/raycast.gen.js +30 -0
  72. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  73. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  74. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  75. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  76. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
  77. package/dist/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
  78. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  79. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  80. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  81. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  82. package/dist/components/index.d.ts +4 -0
  83. package/dist/components/index.js +6 -0
  84. package/dist/components/types.d.ts +2 -0
  85. package/dist/index.d.ts +3 -1
  86. package/dist/index.js +3 -0
  87. package/dist/systems/events.d.ts +48 -0
  88. package/dist/systems/events.js +52 -1
  89. package/dist/systems/raycast.d.ts +5 -1
  90. package/dist/systems/raycast.js +5 -1
  91. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +15 -0
  92. package/dist-cjs/components/extended/AvatarEquippedData.js +14 -0
  93. package/dist-cjs/components/extended/AvatarShape.d.ts +15 -0
  94. package/dist-cjs/components/extended/AvatarShape.js +14 -0
  95. package/dist-cjs/components/extended/MeshCollider.d.ts +9 -0
  96. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  97. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  98. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  99. package/dist-cjs/components/generated/AvatarMovement.gen.d.ts +1 -0
  100. package/dist-cjs/components/generated/AvatarMovement.gen.js +28 -0
  101. package/dist-cjs/components/generated/AvatarMovementInfo.gen.d.ts +1 -0
  102. package/dist-cjs/components/generated/AvatarMovementInfo.gen.js +28 -0
  103. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +1 -0
  104. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  105. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  106. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  107. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  108. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  109. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  110. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  111. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  112. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  113. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  114. package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
  115. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  116. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  117. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  118. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  119. package/dist-cjs/components/generated/component-names.gen.js +10 -0
  120. package/dist-cjs/components/generated/global.gen.d.ts +20 -4
  121. package/dist-cjs/components/generated/global.gen.js +12 -4
  122. package/dist-cjs/components/generated/index.gen.d.ts +40 -0
  123. package/dist-cjs/components/generated/index.gen.js +62 -2
  124. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  125. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +2 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +10 -1
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.d.ts +57 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement.gen.js +210 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.d.ts +65 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_movement_info.gen.js +234 -0
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +2 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +10 -1
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +13 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +31 -1
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +4 -0
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +20 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  169. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  170. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  171. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  172. package/dist-cjs/components/index.d.ts +4 -0
  173. package/dist-cjs/components/index.js +9 -1
  174. package/dist-cjs/components/types.d.ts +2 -0
  175. package/dist-cjs/index.d.ts +3 -1
  176. package/dist-cjs/index.js +4 -1
  177. package/dist-cjs/systems/events.d.ts +48 -0
  178. package/dist-cjs/systems/events.js +52 -1
  179. package/dist-cjs/systems/raycast.d.ts +5 -1
  180. package/dist-cjs/systems/raycast.js +5 -1
  181. package/package.json +2 -2
@@ -50,6 +50,24 @@ export interface PointerEventsSystem {
50
50
  * @param entity - Entity where the callback was attached
51
51
  */
52
52
  removeOnPointerHoverLeave(entity: Entity): void;
53
+ /**
54
+ * @public
55
+ * Remove the callback for onPointerDrag event
56
+ * @param entity - Entity where the callback was attached
57
+ */
58
+ removeOnPointerDrag(entity: Entity): void;
59
+ /**
60
+ * @public
61
+ * Remove the callback for onPointerDragLocked event
62
+ * @param entity - Entity where the callback was attached
63
+ */
64
+ removeOnPointerDragLocked(entity: Entity): void;
65
+ /**
66
+ * @public
67
+ * Remove the callback for onPointerDragEnd event
68
+ * @param entity - Entity where the callback was attached
69
+ */
70
+ removeOnPointerDragEnd(entity: Entity): void;
53
71
  /**
54
72
  * @public
55
73
  * Remove the callback for onProximityDown event
@@ -128,6 +146,36 @@ export interface PointerEventsSystem {
128
146
  entity: Entity;
129
147
  opts?: Partial<EventSystemOptions>;
130
148
  }, cb: EventSystemCallback): void;
149
+ /**
150
+ * @public
151
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
152
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
153
+ * @param cb - Function to execute on every drag update
154
+ */
155
+ onPointerDrag(pointerData: {
156
+ entity: Entity;
157
+ opts?: Partial<EventSystemOptions>;
158
+ }, cb: EventSystemCallback): void;
159
+ /**
160
+ * @public
161
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
162
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
163
+ * @param cb - Function to execute on every drag update
164
+ */
165
+ onPointerDragLocked(pointerData: {
166
+ entity: Entity;
167
+ opts?: Partial<EventSystemOptions>;
168
+ }, cb: EventSystemCallback): void;
169
+ /**
170
+ * @public
171
+ * Execute callback when the user releases the button after a drag that started on the entity
172
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
173
+ * @param cb - Function to execute when the drag ends
174
+ */
175
+ onPointerDragEnd(pointerData: {
176
+ entity: Entity;
177
+ opts?: Partial<EventSystemOptions>;
178
+ }, cb: EventSystemCallback): void;
131
179
  /**
132
180
  * @public
133
181
  * Execute callback when the user presses the proximity button on the entity
@@ -20,6 +20,9 @@ export function createPointerEventsSystem(engine, inputSystem) {
20
20
  EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
21
21
  EventType[EventType["ProximityEnter"] = 5] = "ProximityEnter";
22
22
  EventType[EventType["ProximityLeave"] = 6] = "ProximityLeave";
23
+ EventType[EventType["Drag"] = 7] = "Drag";
24
+ EventType[EventType["DragLocked"] = 8] = "DragLocked";
25
+ EventType[EventType["DragEnd"] = 9] = "DragEnd";
23
26
  })(EventType || (EventType = {}));
24
27
  const eventsMap = new Map();
25
28
  function getEvent(entity) {
@@ -90,6 +93,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
90
93
  else if (eventType === EventType.ProximityLeave) {
91
94
  return 5 /* PointerEventType.PET_PROXIMITY_LEAVE */;
92
95
  }
96
+ else if (eventType === EventType.Drag) {
97
+ return 7 /* PointerEventType.PET_DRAG */;
98
+ }
99
+ else if (eventType === EventType.DragLocked) {
100
+ return 6 /* PointerEventType.PET_DRAG_LOCKED */;
101
+ }
102
+ else if (eventType === EventType.DragEnd) {
103
+ return 8 /* PointerEventType.PET_DRAG_END */;
104
+ }
93
105
  return 1 /* PointerEventType.PET_DOWN */;
94
106
  }
95
107
  function removeEvent(entity, type, interactionType = 0 /* InteractionType.CURSOR */) {
@@ -122,7 +134,10 @@ export function createPointerEventsSystem(engine, inputSystem) {
122
134
  eventType === EventType.HoverEnter ||
123
135
  eventType === EventType.HoverLeave ||
124
136
  eventType === EventType.ProximityEnter ||
125
- eventType === EventType.ProximityLeave) {
137
+ eventType === EventType.ProximityLeave ||
138
+ eventType === EventType.Drag ||
139
+ eventType === EventType.DragLocked ||
140
+ eventType === EventType.DragEnd) {
126
141
  const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
127
142
  if (command) {
128
143
  checkNotThenable(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
@@ -169,6 +184,30 @@ export function createPointerEventsSystem(engine, inputSystem) {
169
184
  setEvent(entity, EventType.HoverLeave, cb, options);
170
185
  setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
171
186
  };
187
+ const onPointerDrag = (...args) => {
188
+ const [data, cb] = args;
189
+ const { entity, opts } = data;
190
+ const options = getDefaultOpts(opts);
191
+ removeEvent(entity, EventType.Drag);
192
+ setEvent(entity, EventType.Drag, cb, options);
193
+ setPointerEvent(entity, 7 /* PointerEventType.PET_DRAG */, options);
194
+ };
195
+ const onPointerDragLocked = (...args) => {
196
+ const [data, cb] = args;
197
+ const { entity, opts } = data;
198
+ const options = getDefaultOpts(opts);
199
+ removeEvent(entity, EventType.DragLocked);
200
+ setEvent(entity, EventType.DragLocked, cb, options);
201
+ setPointerEvent(entity, 6 /* PointerEventType.PET_DRAG_LOCKED */, options);
202
+ };
203
+ const onPointerDragEnd = (...args) => {
204
+ const [data, cb] = args;
205
+ const { entity, opts } = data;
206
+ const options = getDefaultOpts(opts);
207
+ removeEvent(entity, EventType.DragEnd);
208
+ setEvent(entity, EventType.DragEnd, cb, options);
209
+ setPointerEvent(entity, 8 /* PointerEventType.PET_DRAG_END */, options);
210
+ };
172
211
  const onProximityDown = (...args) => {
173
212
  const [data, cb] = args;
174
213
  const { entity, opts } = data;
@@ -217,6 +256,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
217
256
  removeOnPointerHoverLeave(entity) {
218
257
  removeEvent(entity, EventType.HoverLeave);
219
258
  },
259
+ removeOnPointerDrag(entity) {
260
+ removeEvent(entity, EventType.Drag);
261
+ },
262
+ removeOnPointerDragLocked(entity) {
263
+ removeEvent(entity, EventType.DragLocked);
264
+ },
265
+ removeOnPointerDragEnd(entity) {
266
+ removeEvent(entity, EventType.DragEnd);
267
+ },
220
268
  removeOnProximityDown(entity) {
221
269
  removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
222
270
  },
@@ -242,6 +290,9 @@ export function createPointerEventsSystem(engine, inputSystem) {
242
290
  onPointerUp,
243
291
  onPointerHoverEnter,
244
292
  onPointerHoverLeave,
293
+ onPointerDrag,
294
+ onPointerDragLocked,
295
+ onPointerDragEnd,
245
296
  onProximityDown,
246
297
  onProximityUp,
247
298
  onProximityEnter,
@@ -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,10 @@ export type RaycastSystemOptions = {
14
14
  queryType: RaycastQueryType;
15
15
  continuous?: boolean | undefined;
16
16
  collisionMask?: number | undefined;
17
+ /** shape to sweep along the ray, default RS_RAY (a point) */
18
+ shape?: RaycastShape | undefined;
19
+ /** include colliders from other scenes, default false */
20
+ includeWorld?: boolean | undefined;
17
21
  };
18
22
  export type LocalDirectionRaycastSystemOptions = {
19
23
  direction?: Vector3;
@@ -12,7 +12,9 @@ export function createRaycastSystem(engine) {
12
12
  queryType: 0 /* RaycastQueryType.RQT_HIT_FIRST */,
13
13
  continuous: false,
14
14
  originOffset: { x: 0, y: 0, z: 0 },
15
- collisionMask: 2 /* ColliderLayer.CL_PHYSICS */
15
+ collisionMask: 2 /* ColliderLayer.CL_PHYSICS */,
16
+ shape: 0 /* RaycastShape.RS_RAY */,
17
+ includeWorld: false
16
18
  };
17
19
  const getLocalDirectionRaycastDefaultOptions = (options = {}) => ({
18
20
  ...defaultOptions,
@@ -58,6 +60,8 @@ export function createRaycastSystem(engine) {
58
60
  raycast.direction = raycastValue.directionRawValue;
59
61
  raycast.continuous = raycastValue.continuous;
60
62
  raycast.queryType = raycastValue.queryType;
63
+ raycast.shape = raycastValue.shape;
64
+ raycast.includeWorld = raycastValue.includeWorld;
61
65
  entitiesCallbackResultMap.set(entity, { callback: callback });
62
66
  };
63
67
  nextTickRaycasts.push(onNextTick);
@@ -0,0 +1,15 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBAvatarEquippedData } from '../generated/pb/decentraland/sdk/components/avatar_equipped_data.gen';
3
+ /**
4
+ * @public
5
+ * AvatarEquippedData with `forceRender` optional: the wire type is a repeated field (always present, so the
6
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
7
+ */
8
+ export type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
9
+ forceRender?: string[] | undefined;
10
+ };
11
+ /**
12
+ * @public
13
+ */
14
+ export type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
15
+ export declare function defineAvatarEquippedDataComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarEquippedDataComponentDefinitionExtended;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAvatarEquippedDataComponent = void 0;
4
+ const AvatarEquippedData_gen_1 = require("../generated/AvatarEquippedData.gen");
5
+ function defineAvatarEquippedDataComponent(engine) {
6
+ const patchedSchema = { ...AvatarEquippedData_gen_1.AvatarEquippedDataSchema };
7
+ const origSerialize = patchedSchema.serialize;
8
+ patchedSchema.serialize = (value, builder) => {
9
+ origSerialize(value.forceRender === undefined ? { ...value, forceRender: [] } : value, builder);
10
+ };
11
+ const theComponent = engine.defineComponentFromSchema('core::AvatarEquippedData', patchedSchema);
12
+ return theComponent;
13
+ }
14
+ exports.defineAvatarEquippedDataComponent = defineAvatarEquippedDataComponent;
@@ -0,0 +1,15 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBAvatarShape } from '../generated/pb/decentraland/sdk/components/avatar_shape.gen';
3
+ /**
4
+ * @public
5
+ * AvatarShape with `forceRender` optional: the wire type is a repeated field (always present, so the
6
+ * generated type requires it), but a scene rarely needs it and shouldn't have to pass `[]`.
7
+ */
8
+ export type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
9
+ forceRender?: string[] | undefined;
10
+ };
11
+ /**
12
+ * @public
13
+ */
14
+ export type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
15
+ export declare function defineAvatarShapeComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarShapeComponentDefinitionExtended;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAvatarShapeComponent = void 0;
4
+ const AvatarShape_gen_1 = require("../generated/AvatarShape.gen");
5
+ function defineAvatarShapeComponent(engine) {
6
+ const patchedSchema = { ...AvatarShape_gen_1.AvatarShapeSchema };
7
+ const origSerialize = patchedSchema.serialize;
8
+ patchedSchema.serialize = (value, builder) => {
9
+ origSerialize(value.forceRender === undefined ? { ...value, forceRender: [] } : value, builder);
10
+ };
11
+ const theComponent = engine.defineComponentFromSchema('core::AvatarShape', patchedSchema);
12
+ return theComponent;
13
+ }
14
+ exports.defineAvatarShapeComponent = defineAvatarShapeComponent;
@@ -34,5 +34,14 @@ export interface MeshColliderComponentDefinitionExtended extends LastWriteWinEle
34
34
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
35
35
  */
36
36
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
+ /**
38
+ * @public
39
+ * Set a mesh from inside a gltf in the MeshCollider component
40
+ * @param entity - entity to create or replace the MeshCollider component
41
+ * @param source - the path to the gltf
42
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
43
+ * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
44
+ */
45
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
46
  }
38
47
  export declare function defineMeshColliderComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshColliderComponentDefinitionExtended;
@@ -37,6 +37,12 @@ function defineMeshColliderComponent(engine) {
37
37
  mesh: { $case: 'sphere', sphere: {} },
38
38
  collisionMask: getCollisionMask(colliderLayers)
39
39
  });
40
+ },
41
+ setGltfMesh(entity, source, meshName, colliderLayers) {
42
+ theComponent.createOrReplace(entity, {
43
+ mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } },
44
+ collisionMask: getCollisionMask(colliderLayers)
45
+ });
40
46
  }
41
47
  };
42
48
  }
@@ -32,5 +32,13 @@ export interface MeshRendererComponentDefinitionExtended extends LastWriteWinEle
32
32
  * @param entity - entity to create or replace the MeshRenderer component
33
33
  */
34
34
  setSphere(entity: Entity): void;
35
+ /**
36
+ * @public
37
+ * Set a mesh from inside a gltf in the MeshRenderer component
38
+ * @param entity - entity to create or replace the MeshRenderer component
39
+ * @param source - the path to the gltf
40
+ * @param meshName - the name of the mesh in the gltf (see GltfContainerLoadingState.meshNames)
41
+ */
42
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
35
43
  }
36
44
  export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;
@@ -25,6 +25,11 @@ function defineMeshRendererComponent(engine) {
25
25
  theComponent.createOrReplace(entity, {
26
26
  mesh: { $case: 'sphere', sphere: {} }
27
27
  });
28
+ },
29
+ setGltfMesh(entity, source, meshName) {
30
+ theComponent.createOrReplace(entity, {
31
+ mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } }
32
+ });
28
33
  }
29
34
  };
30
35
  }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvatarMovementSchema = void 0;
4
+ const avatar_movement_gen_1 = require("./pb/decentraland/sdk/components/avatar_movement.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.AvatarMovementSchema = {
9
+ COMPONENT_ID: 1501,
10
+ serialize(value, builder) {
11
+ const writer = avatar_movement_gen_1.PBAvatarMovement.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return avatar_movement_gen_1.PBAvatarMovement.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return avatar_movement_gen_1.PBAvatarMovement.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBAvatarMovement"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvatarMovementInfoSchema = void 0;
4
+ const avatar_movement_info_gen_1 = require("./pb/decentraland/sdk/components/avatar_movement_info.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.AvatarMovementInfoSchema = {
9
+ COMPONENT_ID: 1500,
10
+ serialize(value, builder) {
11
+ const writer = avatar_movement_info_gen_1.PBAvatarMovementInfo.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return avatar_movement_info_gen_1.PBAvatarMovementInfo.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return avatar_movement_info_gen_1.PBAvatarMovementInfo.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBAvatarMovementInfo"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraLayerSchema = void 0;
4
+ const camera_layer_gen_1 = require("./pb/decentraland/sdk/components/camera_layer.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.CameraLayerSchema = {
9
+ COMPONENT_ID: 1503,
10
+ serialize(value, builder) {
11
+ const writer = camera_layer_gen_1.PBCameraLayer.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return camera_layer_gen_1.PBCameraLayer.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return camera_layer_gen_1.PBCameraLayer.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBCameraLayer"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraLayersSchema = void 0;
4
+ const camera_layers_gen_1 = require("./pb/decentraland/sdk/components/camera_layers.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.CameraLayersSchema = {
9
+ COMPONENT_ID: 1208,
10
+ serialize(value, builder) {
11
+ const writer = camera_layers_gen_1.PBCameraLayers.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return camera_layers_gen_1.PBCameraLayers.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return camera_layers_gen_1.PBCameraLayers.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBCameraLayers"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlobalLightSchema = void 0;
4
+ const global_light_gen_1 = require("./pb/decentraland/sdk/components/global_light.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.GlobalLightSchema = {
9
+ COMPONENT_ID: 1206,
10
+ serialize(value, builder) {
11
+ const writer = global_light_gen_1.PBGlobalLight.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return global_light_gen_1.PBGlobalLight.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return global_light_gen_1.PBGlobalLight.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBGlobalLight"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GltfNodeSchema = void 0;
4
+ const gltf_node_gen_1 = require("./pb/decentraland/sdk/components/gltf_node.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.GltfNodeSchema = {
9
+ COMPONENT_ID: 1200,
10
+ serialize(value, builder) {
11
+ const writer = gltf_node_gen_1.PBGltfNode.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return gltf_node_gen_1.PBGltfNode.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return gltf_node_gen_1.PBGltfNode.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBGltfNode"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GltfNodeStateSchema = void 0;
4
+ const gltf_node_state_gen_1 = require("./pb/decentraland/sdk/components/gltf_node_state.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.GltfNodeStateSchema = {
9
+ COMPONENT_ID: 1201,
10
+ serialize(value, builder) {
11
+ const writer = gltf_node_state_gen_1.PBGltfNodeState.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return gltf_node_state_gen_1.PBGltfNodeState.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return gltf_node_state_gen_1.PBGltfNodeState.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBGltfNodeState"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextureCameraSchema = void 0;
4
+ const texture_camera_gen_1 = require("./pb/decentraland/sdk/components/texture_camera.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.TextureCameraSchema = {
9
+ COMPONENT_ID: 1207,
10
+ serialize(value, builder) {
11
+ const writer = texture_camera_gen_1.PBTextureCamera.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return texture_camera_gen_1.PBTextureCamera.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return texture_camera_gen_1.PBTextureCamera.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBTextureCamera"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiCanvasSchema = void 0;
4
+ const ui_canvas_gen_1 = require("./pb/decentraland/sdk/components/ui_canvas.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.UiCanvasSchema = {
9
+ COMPONENT_ID: 1203,
10
+ serialize(value, builder) {
11
+ const writer = ui_canvas_gen_1.PBUiCanvas.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return ui_canvas_gen_1.PBUiCanvas.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return ui_canvas_gen_1.PBUiCanvas.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBUiCanvas"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiScrollResultSchema = void 0;
4
+ const ui_scroll_result_gen_1 = require("./pb/decentraland/sdk/components/ui_scroll_result.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.UiScrollResultSchema = {
9
+ COMPONENT_ID: 1202,
10
+ serialize(value, builder) {
11
+ const writer = ui_scroll_result_gen_1.PBUiScrollResult.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return ui_scroll_result_gen_1.PBUiScrollResult.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return ui_scroll_result_gen_1.PBUiScrollResult.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBUiScrollResult"
27
+ }
28
+ };