@dcl/ecs 7.27.0 → 7.27.1-33247605236.commit-732120a

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
@@ -48,6 +48,24 @@ export interface PointerEventsSystem {
48
48
  * @param entity - Entity where the callback was attached
49
49
  */
50
50
  removeOnPointerHoverLeave(entity: Entity): void;
51
+ /**
52
+ * @public
53
+ * Remove the callback for onPointerDrag event
54
+ * @param entity - Entity where the callback was attached
55
+ */
56
+ removeOnPointerDrag(entity: Entity): void;
57
+ /**
58
+ * @public
59
+ * Remove the callback for onPointerDragLocked event
60
+ * @param entity - Entity where the callback was attached
61
+ */
62
+ removeOnPointerDragLocked(entity: Entity): void;
63
+ /**
64
+ * @public
65
+ * Remove the callback for onPointerDragEnd event
66
+ * @param entity - Entity where the callback was attached
67
+ */
68
+ removeOnPointerDragEnd(entity: Entity): void;
51
69
  /**
52
70
  * @public
53
71
  * Remove the callback for onProximityDown event
@@ -126,6 +144,36 @@ export interface PointerEventsSystem {
126
144
  entity: Entity;
127
145
  opts?: Partial<EventSystemOptions>;
128
146
  }, cb: EventSystemCallback): void;
147
+ /**
148
+ * @public
149
+ * Execute callback while the user holds the button pressed and moves the pointer, having pressed it on the entity
150
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
151
+ * @param cb - Function to execute on every drag update
152
+ */
153
+ onPointerDrag(pointerData: {
154
+ entity: Entity;
155
+ opts?: Partial<EventSystemOptions>;
156
+ }, cb: EventSystemCallback): void;
157
+ /**
158
+ * @public
159
+ * Same as onPointerDrag, but the cursor is locked in place for the duration of the drag
160
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
161
+ * @param cb - Function to execute on every drag update
162
+ */
163
+ onPointerDragLocked(pointerData: {
164
+ entity: Entity;
165
+ opts?: Partial<EventSystemOptions>;
166
+ }, cb: EventSystemCallback): void;
167
+ /**
168
+ * @public
169
+ * Execute callback when the user releases the button after a drag that started on the entity
170
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
171
+ * @param cb - Function to execute when the drag ends
172
+ */
173
+ onPointerDragEnd(pointerData: {
174
+ entity: Entity;
175
+ opts?: Partial<EventSystemOptions>;
176
+ }, cb: EventSystemCallback): void;
129
177
  /**
130
178
  * @public
131
179
  * 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) {
@@ -65,6 +68,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
65
68
  else if (eventType === EventType.ProximityLeave) {
66
69
  return 5 /* PointerEventType.PET_PROXIMITY_LEAVE */;
67
70
  }
71
+ else if (eventType === EventType.Drag) {
72
+ return 7 /* PointerEventType.PET_DRAG */;
73
+ }
74
+ else if (eventType === EventType.DragLocked) {
75
+ return 6 /* PointerEventType.PET_DRAG_LOCKED */;
76
+ }
77
+ else if (eventType === EventType.DragEnd) {
78
+ return 8 /* PointerEventType.PET_DRAG_END */;
79
+ }
68
80
  return 1 /* PointerEventType.PET_DOWN */;
69
81
  }
70
82
  function removeEvent(entity, type, interactionType = 0 /* InteractionType.CURSOR */) {
@@ -92,7 +104,10 @@ export function createPointerEventsSystem(engine, inputSystem) {
92
104
  eventType === EventType.HoverEnter ||
93
105
  eventType === EventType.HoverLeave ||
94
106
  eventType === EventType.ProximityEnter ||
95
- eventType === EventType.ProximityLeave) {
107
+ eventType === EventType.ProximityLeave ||
108
+ eventType === EventType.Drag ||
109
+ eventType === EventType.DragLocked ||
110
+ eventType === EventType.DragEnd) {
96
111
  const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
97
112
  if (command) {
98
113
  checkNotThenable(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
@@ -139,6 +154,30 @@ export function createPointerEventsSystem(engine, inputSystem) {
139
154
  getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
140
155
  setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
141
156
  };
157
+ const onPointerDrag = (...args) => {
158
+ const [data, cb] = args;
159
+ const { entity, opts } = data;
160
+ const options = getDefaultOpts(opts);
161
+ removeEvent(entity, EventType.Drag);
162
+ getEvent(entity).set(EventType.Drag, { cb, opts: options });
163
+ setPointerEvent(entity, 7 /* PointerEventType.PET_DRAG */, options);
164
+ };
165
+ const onPointerDragLocked = (...args) => {
166
+ const [data, cb] = args;
167
+ const { entity, opts } = data;
168
+ const options = getDefaultOpts(opts);
169
+ removeEvent(entity, EventType.DragLocked);
170
+ getEvent(entity).set(EventType.DragLocked, { cb, opts: options });
171
+ setPointerEvent(entity, 6 /* PointerEventType.PET_DRAG_LOCKED */, options);
172
+ };
173
+ const onPointerDragEnd = (...args) => {
174
+ const [data, cb] = args;
175
+ const { entity, opts } = data;
176
+ const options = getDefaultOpts(opts);
177
+ removeEvent(entity, EventType.DragEnd);
178
+ getEvent(entity).set(EventType.DragEnd, { cb, opts: options });
179
+ setPointerEvent(entity, 8 /* PointerEventType.PET_DRAG_END */, options);
180
+ };
142
181
  const onProximityDown = (...args) => {
143
182
  const [data, cb] = args;
144
183
  const { entity, opts } = data;
@@ -187,6 +226,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
187
226
  removeOnPointerHoverLeave(entity) {
188
227
  removeEvent(entity, EventType.HoverLeave);
189
228
  },
229
+ removeOnPointerDrag(entity) {
230
+ removeEvent(entity, EventType.Drag);
231
+ },
232
+ removeOnPointerDragLocked(entity) {
233
+ removeEvent(entity, EventType.DragLocked);
234
+ },
235
+ removeOnPointerDragEnd(entity) {
236
+ removeEvent(entity, EventType.DragEnd);
237
+ },
190
238
  removeOnProximityDown(entity) {
191
239
  removeEvent(entity, EventType.Down, 1 /* InteractionType.PROXIMITY */);
192
240
  },
@@ -212,6 +260,9 @@ export function createPointerEventsSystem(engine, inputSystem) {
212
260
  onPointerUp,
213
261
  onPointerHoverEnter,
214
262
  onPointerHoverLeave,
263
+ onPointerDrag,
264
+ onPointerDragLocked,
265
+ onPointerDragEnd,
215
266
  onProximityDown,
216
267
  onProximityUp,
217
268
  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
+ };