@dcl/ecs 7.9.4-16839103320.commit-8a3e6ef → 7.9.4

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 (174) hide show
  1. package/dist/components/extended/MeshCollider.d.ts +0 -8
  2. package/dist/components/extended/MeshCollider.js +0 -6
  3. package/dist/components/extended/MeshRenderer.d.ts +0 -8
  4. package/dist/components/extended/MeshRenderer.js +0 -5
  5. package/dist/components/generated/GltfNodeModifiers.gen.js +25 -0
  6. package/dist/components/generated/{CameraLayer.gen.js → SkyboxTime.gen.js} +6 -6
  7. package/dist/components/generated/component-names.gen.js +2 -8
  8. package/dist/components/generated/global.gen.d.ts +4 -16
  9. package/dist/components/generated/global.gen.js +2 -8
  10. package/dist/components/generated/index.gen.d.ts +8 -32
  11. package/dist/components/generated/index.gen.js +10 -40
  12. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  13. package/dist/components/generated/pb/decentraland/common/texture.gen.js +0 -65
  14. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  15. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  16. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -43
  17. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +1 -151
  18. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -2
  19. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +5 -5
  20. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
  21. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +1 -119
  22. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +1 -4
  23. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -3
  24. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  25. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  26. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_modifiers.gen.d.ts +43 -0
  27. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_modifiers.gen.js +98 -0
  28. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  29. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +1 -57
  30. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
  31. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +0 -56
  32. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  33. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +0 -56
  34. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  35. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  36. package/dist/components/generated/pb/decentraland/sdk/components/skybox_time.gen.d.ts +31 -0
  37. package/dist/components/generated/pb/decentraland/sdk/components/skybox_time.gen.js +61 -0
  38. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
  39. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
  40. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  41. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +0 -90
  42. package/dist/components/index.d.ts +7 -11
  43. package/dist/components/index.js +5 -11
  44. package/dist/components/types.d.ts +1 -2
  45. package/dist/engine/input.d.ts +0 -6
  46. package/dist/engine/input.js +1 -7
  47. package/dist/index.d.ts +2 -5
  48. package/dist/index.js +1 -3
  49. package/dist/systems/crdt/index.d.ts +1 -0
  50. package/dist/systems/crdt/index.js +17 -5
  51. package/dist/systems/events.d.ts +1 -100
  52. package/dist/systems/events.js +65 -143
  53. package/dist-cjs/components/extended/MeshCollider.d.ts +0 -8
  54. package/dist-cjs/components/extended/MeshCollider.js +0 -6
  55. package/dist-cjs/components/extended/MeshRenderer.d.ts +0 -8
  56. package/dist-cjs/components/extended/MeshRenderer.js +0 -5
  57. package/dist-cjs/components/generated/GltfNodeModifiers.gen.js +28 -0
  58. package/dist-cjs/components/generated/{CameraLayer.gen.js → SkyboxTime.gen.js} +7 -7
  59. package/dist-cjs/components/generated/component-names.gen.js +2 -8
  60. package/dist-cjs/components/generated/global.gen.d.ts +4 -16
  61. package/dist-cjs/components/generated/global.gen.js +3 -9
  62. package/dist-cjs/components/generated/index.gen.d.ts +8 -32
  63. package/dist-cjs/components/generated/index.gen.js +13 -50
  64. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +0 -20
  65. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +1 -66
  66. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +0 -2
  67. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +1 -10
  68. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +0 -43
  69. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +2 -152
  70. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -2
  71. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +5 -5
  72. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +1 -37
  73. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +2 -120
  74. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +1 -4
  75. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +0 -3
  76. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +0 -19
  77. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +1 -46
  78. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_modifiers.gen.d.ts +43 -0
  79. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_modifiers.gen.js +104 -0
  80. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +0 -22
  81. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +2 -58
  82. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +0 -20
  83. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +1 -57
  84. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +3 -21
  85. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +1 -57
  86. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +2 -8
  87. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +0 -3
  88. package/dist-cjs/components/generated/pb/decentraland/sdk/components/skybox_time.gen.d.ts +31 -0
  89. package/dist-cjs/components/generated/pb/decentraland/sdk/components/{ui_canvas.gen.js → skybox_time.gen.js} +26 -25
  90. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +0 -4
  91. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +0 -20
  92. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +0 -35
  93. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +1 -91
  94. package/dist-cjs/components/index.d.ts +7 -11
  95. package/dist-cjs/components/index.js +7 -15
  96. package/dist-cjs/components/types.d.ts +1 -2
  97. package/dist-cjs/engine/input.d.ts +0 -6
  98. package/dist-cjs/engine/input.js +1 -7
  99. package/dist-cjs/index.d.ts +2 -5
  100. package/dist-cjs/index.js +2 -4
  101. package/dist-cjs/systems/crdt/index.d.ts +1 -0
  102. package/dist-cjs/systems/crdt/index.js +18 -6
  103. package/dist-cjs/systems/events.d.ts +1 -100
  104. package/dist-cjs/systems/events.js +65 -143
  105. package/package.json +2 -2
  106. package/dist/components/extended/AvatarEquippedData.d.ts +0 -10
  107. package/dist/components/extended/AvatarEquippedData.js +0 -15
  108. package/dist/components/extended/AvatarShape.d.ts +0 -10
  109. package/dist/components/extended/AvatarShape.js +0 -15
  110. package/dist/components/generated/CameraLayer.gen.d.ts +0 -1
  111. package/dist/components/generated/CameraLayers.gen.d.ts +0 -1
  112. package/dist/components/generated/CameraLayers.gen.js +0 -25
  113. package/dist/components/generated/GlobalLight.gen.d.ts +0 -1
  114. package/dist/components/generated/GlobalLight.gen.js +0 -25
  115. package/dist/components/generated/GltfNode.gen.d.ts +0 -1
  116. package/dist/components/generated/GltfNode.gen.js +0 -25
  117. package/dist/components/generated/GltfNodeState.gen.d.ts +0 -1
  118. package/dist/components/generated/GltfNodeState.gen.js +0 -25
  119. package/dist/components/generated/TextureCamera.gen.d.ts +0 -1
  120. package/dist/components/generated/TextureCamera.gen.js +0 -25
  121. package/dist/components/generated/UiCanvas.gen.d.ts +0 -1
  122. package/dist/components/generated/UiCanvas.gen.js +0 -25
  123. package/dist/components/generated/UiScrollResult.gen.d.ts +0 -1
  124. package/dist/components/generated/UiScrollResult.gen.js +0 -25
  125. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  126. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -104
  127. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  128. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -50
  129. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  130. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -61
  131. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  132. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -41
  133. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  134. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -59
  135. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  136. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -191
  137. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  138. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +0 -60
  139. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  140. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -42
  141. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +0 -10
  142. package/dist-cjs/components/extended/AvatarEquippedData.js +0 -19
  143. package/dist-cjs/components/extended/AvatarShape.d.ts +0 -10
  144. package/dist-cjs/components/extended/AvatarShape.js +0 -19
  145. package/dist-cjs/components/generated/CameraLayers.gen.js +0 -28
  146. package/dist-cjs/components/generated/GlobalLight.gen.js +0 -28
  147. package/dist-cjs/components/generated/GltfNode.gen.js +0 -28
  148. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +0 -1
  149. package/dist-cjs/components/generated/GltfNodeState.gen.js +0 -28
  150. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +0 -1
  151. package/dist-cjs/components/generated/TextureCamera.gen.js +0 -28
  152. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +0 -1
  153. package/dist-cjs/components/generated/UiCanvas.gen.js +0 -28
  154. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +0 -1
  155. package/dist-cjs/components/generated/UiScrollResult.gen.js +0 -28
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +0 -30
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +0 -110
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +0 -14
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +0 -56
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +0 -34
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +0 -67
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +0 -50
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +0 -47
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +0 -27
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +0 -65
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +0 -74
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +0 -197
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +0 -19
  169. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +0 -15
  170. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +0 -48
  171. /package/{dist-cjs/components/generated/GlobalLight.gen.d.ts → dist/components/generated/GltfNodeModifiers.gen.d.ts} +0 -0
  172. /package/{dist-cjs/components/generated/GltfNode.gen.d.ts → dist/components/generated/SkyboxTime.gen.d.ts} +0 -0
  173. /package/dist-cjs/components/generated/{CameraLayer.gen.d.ts → GltfNodeModifiers.gen.d.ts} +0 -0
  174. /package/dist-cjs/components/generated/{CameraLayers.gen.d.ts → SkyboxTime.gen.d.ts} +0 -0
@@ -45,9 +45,6 @@ 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";
51
48
  })(EventType || (EventType = {}));
52
49
  const eventsMap = new Map();
53
50
  function getEvent(entity) {
@@ -82,148 +79,77 @@ function createPointerEventsSystem(engine, inputSystem) {
82
79
  else if (eventType === EventType.HoverEnter) {
83
80
  return 2 /* PointerEventType.PET_HOVER_ENTER */;
84
81
  }
85
- else if (eventType === EventType.Drag) {
86
- return 5 /* PointerEventType.PET_DRAG */;
87
- }
88
- else if (eventType === EventType.DragLocked) {
89
- return 4 /* PointerEventType.PET_DRAG_LOCKED */;
90
- }
91
- else if (eventType === EventType.DragEnd) {
92
- return 6 /* PointerEventType.PET_DRAG_END */;
93
- }
94
82
  return 1 /* PointerEventType.PET_DOWN */;
95
83
  }
96
- function getEventType(pet) {
97
- if (pet === 0 /* PointerEventType.PET_UP */) {
98
- return EventType.Up;
99
- }
100
- else if (pet === 2 /* PointerEventType.PET_HOVER_ENTER */) {
101
- return EventType.HoverEnter;
102
- }
103
- else if (pet === 3 /* PointerEventType.PET_HOVER_LEAVE */) {
104
- return EventType.HoverLeave;
105
- }
106
- else if (pet === 5 /* PointerEventType.PET_DRAG */) {
107
- return EventType.Drag;
108
- }
109
- else if (pet === 4 /* PointerEventType.PET_DRAG_LOCKED */) {
110
- return EventType.DragLocked;
111
- }
112
- else if (pet === 6 /* PointerEventType.PET_DRAG_END */) {
113
- return EventType.DragEnd;
114
- }
115
- else {
116
- return EventType.Down;
117
- }
118
- }
119
84
  function removeEvent(entity, type) {
120
85
  const event = getEvent(entity);
121
- const pointerEventList = event.get(type);
122
- if (pointerEventList === undefined) {
123
- return;
124
- }
125
- for (const button of pointerEventList.keys()) {
126
- removePointerEvent(entity, getPointerEvent(type), button);
86
+ const pointerEvent = event.get(type);
87
+ if (pointerEvent?.opts.hoverText) {
88
+ removePointerEvent(entity, getPointerEvent(type), pointerEvent.opts.button);
127
89
  }
128
90
  event.delete(type);
129
91
  }
130
92
  engine.addSystem(function EventSystem() {
131
- if (eventsMap.size === 0) {
132
- return;
133
- }
134
- for (const entity of eventsMap.keys()) {
93
+ for (const [entity, event] of eventsMap) {
135
94
  if (engine.getEntityState(entity) === entity_1.EntityState.Removed) {
136
95
  eventsMap.delete(entity);
137
- }
138
- }
139
- for (const command of inputSystem.getInputCommands()) {
140
- const entity = command.hit?.entityId;
141
- if (entity === undefined) {
142
- continue;
143
- }
144
- const entityMap = eventsMap.get(entity);
145
- if (entityMap === undefined) {
146
96
  continue;
147
97
  }
148
- const typeMap = entityMap.get(getEventType(command.state));
149
- if (typeMap) {
150
- const data = typeMap.get(command.button);
151
- if (data) {
152
- (0, invariant_1.checkNotThenable)(data.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
98
+ for (const [eventType, { cb, opts }] of event) {
99
+ if (eventType === EventType.Click) {
100
+ const command = inputSystem.getClick(opts.button, entity);
101
+ if (command)
102
+ (0, invariant_1.checkNotThenable)(cb(command.up), 'Click event returned a thenable. Only synchronous functions are allowed');
153
103
  }
154
- const anyData = typeMap.get(3 /* InputAction.IA_ANY */);
155
- if (anyData) {
156
- (0, invariant_1.checkNotThenable)(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
157
- }
158
- }
159
- // check clicks separately
160
- if (command.state === 0 /* PointerEventType.PET_UP */) {
161
- const clickMap = entityMap.get(EventType.Click);
162
- if (clickMap) {
163
- const data = clickMap.get(command.button);
164
- if (data && inputSystem.getClick(command.button, entity)) {
165
- (0, invariant_1.checkNotThenable)(data.cb(command), 'Click event returned a thenable. Only synchronous functions are allowed');
166
- }
167
- const anyData = clickMap.get(3 /* InputAction.IA_ANY */);
168
- if (anyData && inputSystem.getClick(command.button, entity)) {
169
- (0, invariant_1.checkNotThenable)(anyData.cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
104
+ if (eventType === EventType.Down ||
105
+ eventType === EventType.Up ||
106
+ eventType === EventType.HoverEnter ||
107
+ eventType === EventType.HoverLeave) {
108
+ const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
109
+ if (command) {
110
+ (0, invariant_1.checkNotThenable)(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
170
111
  }
171
112
  }
172
113
  }
173
114
  }
174
115
  });
175
- // return a function with the correct event type.
176
- // we use onPointerDown as the "archetype" for the returned function, but it fits with
177
- // all the onPointer* declarations
178
- const onPointerFunction = (ty) => {
179
- return (arg0, arg1, arg2) => {
180
- let entity;
181
- let optsList;
182
- if (typeof arg0 === 'number') {
183
- // called as onPointerDown(entity: Entity, cb: EventSystemCallback, opts?: Partial<EventSystemOptions>): void
184
- entity = arg0;
185
- const cb = arg1;
186
- const opts = arg2;
187
- optsList = [{ cb, ...(0, exports.getDefaultOpts)(opts) }];
188
- }
189
- else if (typeof arg1 === 'function') {
190
- // called as onPointerDown(pointerData: { entity: Entity; opts?: Partial<EventSystemOptions> }, cb: EventSystemCallback): void
191
- const { entity: e, opts } = arg0;
192
- const cb = arg1;
193
- entity = e;
194
- optsList = [{ cb, ...(0, exports.getDefaultOpts)(opts) }];
195
- }
196
- else {
197
- // called as onPointerDown(pointerData: { entity: Entity; optsList: EventSystemOptionsCallback[] }): void
198
- const { entity: e, optsList: o } = arg0;
199
- entity = e;
200
- optsList = o;
201
- }
202
- const previous = getEvent(entity).get(ty) ?? new Map();
203
- const callbacks = new Map();
204
- for (const opts of optsList) {
205
- const prevOpts = previous.get(opts.button);
206
- if (prevOpts !== undefined) {
207
- if (prevOpts.hoverText !== opts.hoverText ||
208
- prevOpts.maxDistance !== opts.maxDistance ||
209
- prevOpts.showFeedback !== opts.showFeedback ||
210
- prevOpts.showHighlight !== opts.showHighlight) {
211
- removePointerEvent(entity, getPointerEvent(ty), opts.button);
212
- setPointerEvent(entity, getPointerEvent(ty), opts);
213
- }
214
- }
215
- else {
216
- setPointerEvent(entity, getPointerEvent(ty), opts);
217
- }
218
- callbacks.set(opts.button, opts);
219
- }
220
- for (const button of previous.keys()) {
221
- if (!callbacks.has(button)) {
222
- removePointerEvent(entity, getPointerEvent(ty), button);
223
- }
224
- }
225
- getEvent(entity).set(ty, callbacks);
226
- };
116
+ const onPointerDown = (...args) => {
117
+ const [data, cb, maybeOpts] = args;
118
+ if (typeof data === 'number') {
119
+ return onPointerDown({ entity: data, opts: maybeOpts ?? {} }, cb);
120
+ }
121
+ const { entity, opts } = data;
122
+ const options = (0, exports.getDefaultOpts)(opts);
123
+ removeEvent(entity, EventType.Down);
124
+ getEvent(entity).set(EventType.Down, { cb, opts: options });
125
+ setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
126
+ };
127
+ const onPointerUp = (...args) => {
128
+ const [data, cb, maybeOpts] = args;
129
+ if (typeof data === 'number') {
130
+ return onPointerUp({ entity: data, opts: maybeOpts ?? {} }, cb);
131
+ }
132
+ const { entity, opts } = data;
133
+ const options = (0, exports.getDefaultOpts)(opts);
134
+ removeEvent(entity, EventType.Up);
135
+ getEvent(entity).set(EventType.Up, { cb, opts: options });
136
+ setPointerEvent(entity, 0 /* PointerEventType.PET_UP */, options);
137
+ };
138
+ const onPointerHoverEnter = (...args) => {
139
+ const [data, cb] = args;
140
+ const { entity, opts } = data;
141
+ const options = (0, exports.getDefaultOpts)(opts);
142
+ removeEvent(entity, EventType.HoverEnter);
143
+ getEvent(entity).set(EventType.HoverEnter, { cb, opts: options });
144
+ setPointerEvent(entity, 2 /* PointerEventType.PET_HOVER_ENTER */, options);
145
+ };
146
+ const onPointerHoverLeave = (...args) => {
147
+ const [data, cb] = args;
148
+ const { entity, opts } = data;
149
+ const options = (0, exports.getDefaultOpts)(opts);
150
+ removeEvent(entity, EventType.HoverLeave);
151
+ getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
152
+ setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
227
153
  };
228
154
  return {
229
155
  removeOnClick(entity) {
@@ -241,23 +167,19 @@ function createPointerEventsSystem(engine, inputSystem) {
241
167
  removeOnPointerHoverLeave(entity) {
242
168
  removeEvent(entity, EventType.HoverLeave);
243
169
  },
244
- removeOnPointerDrag(entity) {
245
- removeEvent(entity, EventType.Drag);
246
- },
247
- removeOnPointerDragLocked(entity) {
248
- removeEvent(entity, EventType.DragLocked);
249
- },
250
- removeOnPointerDragEnd(entity) {
251
- removeEvent(entity, EventType.DragEnd);
170
+ onClick(value, cb) {
171
+ const { entity } = value;
172
+ const options = (0, exports.getDefaultOpts)(value.opts);
173
+ // Clear previous event with over feedback included
174
+ removeEvent(entity, EventType.Click);
175
+ // Set new event
176
+ getEvent(entity).set(EventType.Click, { cb, opts: options });
177
+ setPointerEvent(entity, 1 /* PointerEventType.PET_DOWN */, options);
252
178
  },
253
- onClick: onPointerFunction(EventType.Click),
254
- onPointerDown: onPointerFunction(EventType.Down),
255
- onPointerUp: onPointerFunction(EventType.Up),
256
- onPointerHoverEnter: onPointerFunction(EventType.HoverEnter),
257
- onPointerHoverLeave: onPointerFunction(EventType.HoverLeave),
258
- onPointerDrag: onPointerFunction(EventType.Drag),
259
- onPointerDragLocked: onPointerFunction(EventType.DragLocked),
260
- onPointerDragEnd: onPointerFunction(EventType.DragEnd)
179
+ onPointerDown,
180
+ onPointerUp,
181
+ onPointerHoverEnter,
182
+ onPointerHoverLeave
261
183
  };
262
184
  }
263
185
  exports.createPointerEventsSystem = createPointerEventsSystem;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dcl/ecs",
3
3
  "description": "Decentraland ECS",
4
- "version": "7.9.4-16839103320.commit-8a3e6ef",
4
+ "version": "7.9.4",
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": "8a3e6ef63a8f6295d57e1fef67cdaad0d52e7d47"
36
+ "commit": "0b187027d4df0f3dff46a492b0fc62fb2397a459"
37
37
  }
@@ -1,10 +0,0 @@
1
- import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
- import { PBAvatarEquippedData } from '../generated/pb/decentraland/sdk/components/avatar_equipped_data.gen';
3
- /**
4
- * @public
5
- */
6
- export type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
7
- export type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
8
- forceRender?: string[] | undefined;
9
- };
10
- export declare function defineAvatarEquippedDataComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarEquippedDataComponentDefinitionExtended;
@@ -1,15 +0,0 @@
1
- import { AvatarEquippedDataSchema } from '../generated/AvatarEquippedData.gen';
2
- export function defineAvatarEquippedDataComponent(engine) {
3
- const patchedSchema = { ...AvatarEquippedDataSchema };
4
- const origSerialize = patchedSchema.serialize;
5
- patchedSchema.serialize = (value, builder) => {
6
- if (value.forceRender === undefined) {
7
- origSerialize({ forceRender: [], ...value }, builder);
8
- }
9
- else {
10
- origSerialize(value, builder);
11
- }
12
- };
13
- const theComponent = engine.defineComponentFromSchema('core::AvatarEquippedData', patchedSchema);
14
- return theComponent;
15
- }
@@ -1,10 +0,0 @@
1
- import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
- import { PBAvatarShape } from '../generated/pb/decentraland/sdk/components/avatar_shape.gen';
3
- /**
4
- * @public
5
- */
6
- export type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
7
- export type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
8
- forceRender?: string[] | undefined;
9
- };
10
- export declare function defineAvatarShapeComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarShapeComponentDefinitionExtended;
@@ -1,15 +0,0 @@
1
- import { AvatarShapeSchema } from '../generated/AvatarShape.gen';
2
- export function defineAvatarShapeComponent(engine) {
3
- const patchedSchema = { ...AvatarShapeSchema };
4
- const origSerialize = patchedSchema.serialize;
5
- patchedSchema.serialize = (value, builder) => {
6
- if (value.forceRender === undefined) {
7
- origSerialize({ forceRender: [], ...value }, builder);
8
- }
9
- else {
10
- origSerialize(value, builder);
11
- }
12
- };
13
- const theComponent = engine.defineComponentFromSchema('core::AvatarShape', patchedSchema);
14
- return theComponent;
15
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBCameraLayers } from './pb/decentraland/sdk/components/camera_layers.gen';
2
- /**
3
- * @internal
4
- */
5
- export const CameraLayersSchema = {
6
- COMPONENT_ID: 1208,
7
- serialize(value, builder) {
8
- const writer = PBCameraLayers.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBCameraLayers.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBCameraLayers.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBCameraLayers"
24
- }
25
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBGlobalLight } from './pb/decentraland/sdk/components/global_light.gen';
2
- /**
3
- * @internal
4
- */
5
- export const GlobalLightSchema = {
6
- COMPONENT_ID: 1206,
7
- serialize(value, builder) {
8
- const writer = PBGlobalLight.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBGlobalLight.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBGlobalLight.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBGlobalLight"
24
- }
25
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBGltfNode } from './pb/decentraland/sdk/components/gltf_node.gen';
2
- /**
3
- * @internal
4
- */
5
- export const GltfNodeSchema = {
6
- COMPONENT_ID: 1200,
7
- serialize(value, builder) {
8
- const writer = PBGltfNode.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBGltfNode.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBGltfNode.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBGltfNode"
24
- }
25
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBGltfNodeState } from './pb/decentraland/sdk/components/gltf_node_state.gen';
2
- /**
3
- * @internal
4
- */
5
- export const GltfNodeStateSchema = {
6
- COMPONENT_ID: 1201,
7
- serialize(value, builder) {
8
- const writer = PBGltfNodeState.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBGltfNodeState.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBGltfNodeState.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBGltfNodeState"
24
- }
25
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBTextureCamera } from './pb/decentraland/sdk/components/texture_camera.gen';
2
- /**
3
- * @internal
4
- */
5
- export const TextureCameraSchema = {
6
- COMPONENT_ID: 1207,
7
- serialize(value, builder) {
8
- const writer = PBTextureCamera.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBTextureCamera.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBTextureCamera.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBTextureCamera"
24
- }
25
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBUiCanvas } from './pb/decentraland/sdk/components/ui_canvas.gen';
2
- /**
3
- * @internal
4
- */
5
- export const UiCanvasSchema = {
6
- COMPONENT_ID: 1203,
7
- serialize(value, builder) {
8
- const writer = PBUiCanvas.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBUiCanvas.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBUiCanvas.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBUiCanvas"
24
- }
25
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { PBUiScrollResult } from './pb/decentraland/sdk/components/ui_scroll_result.gen';
2
- /**
3
- * @internal
4
- */
5
- export const UiScrollResultSchema = {
6
- COMPONENT_ID: 1202,
7
- serialize(value, builder) {
8
- const writer = PBUiScrollResult.encode(value);
9
- const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
- builder.writeBuffer(buffer, false);
11
- },
12
- deserialize(reader) {
13
- return PBUiScrollResult.decode(reader.buffer(), reader.remainingBytes());
14
- },
15
- create() {
16
- // TODO: this is a hack.
17
- return PBUiScrollResult.decode(new Uint8Array());
18
- },
19
- jsonSchema: {
20
- type: "object",
21
- properties: {},
22
- serializationType: "protocol-buffer",
23
- protocolBuffer: "PBUiScrollResult"
24
- }
25
- };
@@ -1,30 +0,0 @@
1
- import _m0 from "protobufjs/minimal";
2
- import { Color3 } from "../../common/colors.gen";
3
- /**
4
- * @public
5
- */
6
- export interface PBCameraLayer {
7
- /**
8
- * layer to which these settings apply. must be > 0
9
- * Layer 0 is the default "real world" layer viewed by the player and cannot be modified.
10
- */
11
- layer: number;
12
- /** should the sun light affect this layer? default false */
13
- directionalLight?: boolean | undefined;
14
- /** should this layer show player avatars? default false */
15
- showAvatars?: boolean | undefined;
16
- /** should this layer show the sky? default false */
17
- showSkybox?: boolean | undefined;
18
- /** should this layer show distance fog? default false */
19
- showFog?: boolean | undefined;
20
- /** ambient light overrides for this layer. default -> use same as main camera */
21
- ambientColorOverride?: Color3 | undefined;
22
- ambientBrightnessOverride?: number | undefined;
23
- }
24
- /**
25
- * @public
26
- */
27
- export declare namespace PBCameraLayer {
28
- function encode(message: PBCameraLayer, writer?: _m0.Writer): _m0.Writer;
29
- function decode(input: _m0.Reader | Uint8Array, length?: number): PBCameraLayer;
30
- }