@dcl/ecs 7.8.12 → 7.8.13-15760884733.commit-646c526

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 (173) hide show
  1. package/dist/components/extended/AvatarEquippedData.d.ts +10 -0
  2. package/dist/components/extended/AvatarEquippedData.js +15 -0
  3. package/dist/components/extended/AvatarShape.d.ts +10 -0
  4. package/dist/components/extended/AvatarShape.js +15 -0
  5. package/dist/components/extended/MeshCollider.d.ts +8 -0
  6. package/dist/components/extended/MeshCollider.js +6 -0
  7. package/dist/components/extended/MeshRenderer.d.ts +8 -0
  8. package/dist/components/extended/MeshRenderer.js +5 -0
  9. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  10. package/dist/components/generated/CameraLayer.gen.js +25 -0
  11. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  12. package/dist/components/generated/CameraLayers.gen.js +25 -0
  13. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  14. package/dist/components/generated/GlobalLight.gen.js +25 -0
  15. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  16. package/dist/components/generated/GltfNode.gen.js +25 -0
  17. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  18. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  19. package/dist/components/generated/Light.gen.d.ts +1 -0
  20. package/dist/components/generated/Light.gen.js +25 -0
  21. package/dist/components/generated/Spotlight.gen.d.ts +1 -0
  22. package/dist/components/generated/Spotlight.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 -0
  31. package/dist/components/generated/global.gen.js +10 -0
  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 +43 -0
  39. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
  40. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  42. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  43. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  44. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  45. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  46. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  47. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  48. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  49. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  50. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  53. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  54. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  55. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  56. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  57. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  58. package/dist/components/generated/pb/decentraland/sdk/components/light.gen.d.ts +56 -0
  59. package/dist/components/generated/pb/decentraland/sdk/components/light.gen.js +69 -0
  60. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  61. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  62. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  64. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  65. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  67. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/spotlight.gen.d.ts +32 -0
  69. package/dist/components/generated/pb/decentraland/sdk/components/spotlight.gen.js +50 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  72. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  73. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  74. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  75. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  76. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  77. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  78. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  79. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  80. package/dist/components/index.d.ts +11 -7
  81. package/dist/components/index.js +11 -5
  82. package/dist/components/types.d.ts +2 -0
  83. package/dist/index.d.ts +4 -0
  84. package/dist/index.js +3 -0
  85. package/dist/systems/events.d.ts +49 -0
  86. package/dist/systems/events.js +53 -2
  87. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  88. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  89. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  90. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  91. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  92. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  93. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  94. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  95. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +1 -0
  96. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  97. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  98. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  99. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  100. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  101. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  102. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  103. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  104. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  105. package/dist-cjs/components/generated/Light.gen.d.ts +1 -0
  106. package/dist-cjs/components/generated/Light.gen.js +28 -0
  107. package/dist-cjs/components/generated/Spotlight.gen.d.ts +1 -0
  108. package/dist-cjs/components/generated/Spotlight.gen.js +28 -0
  109. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  110. package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
  111. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  112. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  113. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  114. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  115. package/dist-cjs/components/generated/component-names.gen.js +10 -0
  116. package/dist-cjs/components/generated/global.gen.d.ts +20 -0
  117. package/dist-cjs/components/generated/global.gen.js +12 -1
  118. package/dist-cjs/components/generated/index.gen.d.ts +40 -0
  119. package/dist-cjs/components/generated/index.gen.js +62 -1
  120. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  121. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light.gen.d.ts +56 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/light.gen.js +75 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/spotlight.gen.d.ts +32 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/spotlight.gen.js +56 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  166. package/dist-cjs/components/index.d.ts +11 -7
  167. package/dist-cjs/components/index.js +15 -7
  168. package/dist-cjs/components/types.d.ts +2 -0
  169. package/dist-cjs/index.d.ts +4 -0
  170. package/dist-cjs/index.js +4 -1
  171. package/dist-cjs/systems/events.d.ts +49 -0
  172. package/dist-cjs/systems/events.js +53 -2
  173. package/package.json +2 -2
@@ -0,0 +1,42 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { Vector2 } from "../../common/vectors.gen";
4
+ const protobufPackageSarasa = "decentraland.sdk.components";
5
+ function createBasePBUiScrollResult() {
6
+ return { value: undefined };
7
+ }
8
+ /**
9
+ * @public
10
+ */
11
+ export var PBUiScrollResult;
12
+ (function (PBUiScrollResult) {
13
+ function encode(message, writer = _m0.Writer.create()) {
14
+ if (message.value !== undefined) {
15
+ Vector2.encode(message.value, writer.uint32(10).fork()).ldelim();
16
+ }
17
+ return writer;
18
+ }
19
+ PBUiScrollResult.encode = encode;
20
+ function decode(input, length) {
21
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
22
+ let end = length === undefined ? reader.len : reader.pos + length;
23
+ const message = createBasePBUiScrollResult();
24
+ while (reader.pos < end) {
25
+ const tag = reader.uint32();
26
+ switch (tag >>> 3) {
27
+ case 1:
28
+ if (tag !== 10) {
29
+ break;
30
+ }
31
+ message.value = Vector2.decode(reader, reader.uint32());
32
+ continue;
33
+ }
34
+ if ((tag & 7) === 4 || tag === 0) {
35
+ break;
36
+ }
37
+ reader.skipType(tag & 7);
38
+ }
39
+ return message;
40
+ }
41
+ PBUiScrollResult.decode = decode;
42
+ })(PBUiScrollResult || (PBUiScrollResult = {}));
@@ -24,6 +24,10 @@ export interface PBUiText {
24
24
  fontSize?: number | undefined;
25
25
  /** wrap text when the border is reached (default: TW_WRAP) */
26
26
  textWrap?: TextWrap | undefined;
27
+ /** width of the outline (default: 0) */
28
+ outlineWidth?: number | undefined;
29
+ /** RGBA color of the outline (default: opaque black) */
30
+ outlineColor?: Color4 | undefined;
27
31
  }
28
32
  /**
29
33
  * @public
@@ -18,6 +18,8 @@ function createBasePBUiText() {
18
18
  font: undefined,
19
19
  fontSize: undefined,
20
20
  textWrap: undefined,
21
+ outlineWidth: undefined,
22
+ outlineColor: undefined,
21
23
  };
22
24
  }
23
25
  /**
@@ -44,6 +46,12 @@ export var PBUiText;
44
46
  if (message.textWrap !== undefined) {
45
47
  writer.uint32(48).int32(message.textWrap);
46
48
  }
49
+ if (message.outlineWidth !== undefined) {
50
+ writer.uint32(61).float(message.outlineWidth);
51
+ }
52
+ if (message.outlineColor !== undefined) {
53
+ Color4.encode(message.outlineColor, writer.uint32(66).fork()).ldelim();
54
+ }
47
55
  return writer;
48
56
  }
49
57
  PBUiText.encode = encode;
@@ -90,6 +98,18 @@ export var PBUiText;
90
98
  }
91
99
  message.textWrap = reader.int32();
92
100
  continue;
101
+ case 7:
102
+ if (tag !== 61) {
103
+ break;
104
+ }
105
+ message.outlineWidth = reader.float();
106
+ continue;
107
+ case 8:
108
+ if (tag !== 66) {
109
+ break;
110
+ }
111
+ message.outlineColor = Color4.decode(reader, reader.uint32());
112
+ continue;
93
113
  }
94
114
  if ((tag & 7) === 4 || tag === 0) {
95
115
  break;
@@ -1,5 +1,6 @@
1
1
  import _m0 from "protobufjs/minimal";
2
2
  import { Color4 } from "../../common/colors.gen";
3
+ import { Vector2 } from "../../common/vectors.gen";
3
4
  /**
4
5
  * @public
5
6
  */
@@ -93,6 +94,27 @@ export declare const enum PointerFilterMode {
93
94
  PFM_NONE = 0,
94
95
  PFM_BLOCK = 1
95
96
  }
97
+ /**
98
+ * @public
99
+ */
100
+ export declare const enum ShowScrollBar {
101
+ SSB_BOTH = 0,
102
+ SSB_ONLY_VERTICAL = 1,
103
+ SSB_ONLY_HORIZONTAL = 2,
104
+ SSB_HIDDEN = 3
105
+ }
106
+ /**
107
+ * @public
108
+ */
109
+ export interface ScrollPositionValue {
110
+ value?: {
111
+ $case: "position";
112
+ position: Vector2;
113
+ } | {
114
+ $case: "reference";
115
+ reference: string;
116
+ } | undefined;
117
+ }
96
118
  /**
97
119
  * @public
98
120
  */
@@ -210,9 +232,22 @@ export interface PBUiTransform {
210
232
  borderRightColor?: Color4 | undefined;
211
233
  /** default: 1 */
212
234
  opacity?: number | undefined;
235
+ /** reference for scroll_position. default empty */
236
+ elementId?: string | undefined;
237
+ /** default position=(0,0) */
238
+ scrollPosition?: ScrollPositionValue | undefined;
239
+ /** default ShowScrollBar.SSB_BOTH */
240
+ scrollVisible?: ShowScrollBar | undefined;
213
241
  /** default: 0 — controls render stacking order. Higher values appear in front of lower values. */
214
242
  zIndex?: number | undefined;
215
243
  }
244
+ /**
245
+ * @public
246
+ */
247
+ export declare namespace ScrollPositionValue {
248
+ function encode(message: ScrollPositionValue, writer?: _m0.Writer): _m0.Writer;
249
+ function decode(input: _m0.Reader | Uint8Array, length?: number): ScrollPositionValue;
250
+ }
216
251
  /**
217
252
  * @public
218
253
  */
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable */
2
2
  import _m0 from "protobufjs/minimal";
3
3
  import { Color4 } from "../../common/colors.gen";
4
+ import { Vector2 } from "../../common/vectors.gen";
4
5
  const protobufPackageSarasa = "decentraland.sdk.components";
5
6
  /**
6
7
  * @public
@@ -105,6 +106,65 @@ export var PointerFilterMode;
105
106
  PointerFilterMode[PointerFilterMode["PFM_NONE"] = 0] = "PFM_NONE";
106
107
  PointerFilterMode[PointerFilterMode["PFM_BLOCK"] = 1] = "PFM_BLOCK";
107
108
  })(PointerFilterMode || (PointerFilterMode = {}));
109
+ /**
110
+ * @public
111
+ */
112
+ export var ShowScrollBar;
113
+ (function (ShowScrollBar) {
114
+ ShowScrollBar[ShowScrollBar["SSB_BOTH"] = 0] = "SSB_BOTH";
115
+ ShowScrollBar[ShowScrollBar["SSB_ONLY_VERTICAL"] = 1] = "SSB_ONLY_VERTICAL";
116
+ ShowScrollBar[ShowScrollBar["SSB_ONLY_HORIZONTAL"] = 2] = "SSB_ONLY_HORIZONTAL";
117
+ ShowScrollBar[ShowScrollBar["SSB_HIDDEN"] = 3] = "SSB_HIDDEN";
118
+ })(ShowScrollBar || (ShowScrollBar = {}));
119
+ function createBaseScrollPositionValue() {
120
+ return { value: undefined };
121
+ }
122
+ /**
123
+ * @public
124
+ */
125
+ export var ScrollPositionValue;
126
+ (function (ScrollPositionValue) {
127
+ function encode(message, writer = _m0.Writer.create()) {
128
+ switch (message.value?.$case) {
129
+ case "position":
130
+ Vector2.encode(message.value.position, writer.uint32(10).fork()).ldelim();
131
+ break;
132
+ case "reference":
133
+ writer.uint32(18).string(message.value.reference);
134
+ break;
135
+ }
136
+ return writer;
137
+ }
138
+ ScrollPositionValue.encode = encode;
139
+ function decode(input, length) {
140
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
141
+ let end = length === undefined ? reader.len : reader.pos + length;
142
+ const message = createBaseScrollPositionValue();
143
+ while (reader.pos < end) {
144
+ const tag = reader.uint32();
145
+ switch (tag >>> 3) {
146
+ case 1:
147
+ if (tag !== 10) {
148
+ break;
149
+ }
150
+ message.value = { $case: "position", position: Vector2.decode(reader, reader.uint32()) };
151
+ continue;
152
+ case 2:
153
+ if (tag !== 18) {
154
+ break;
155
+ }
156
+ message.value = { $case: "reference", reference: reader.string() };
157
+ continue;
158
+ }
159
+ if ((tag & 7) === 4 || tag === 0) {
160
+ break;
161
+ }
162
+ reader.skipType(tag & 7);
163
+ }
164
+ return message;
165
+ }
166
+ ScrollPositionValue.decode = decode;
167
+ })(ScrollPositionValue || (ScrollPositionValue = {}));
108
168
  function createBasePBUiTransform() {
109
169
  return {
110
170
  parent: 0,
@@ -180,6 +240,9 @@ function createBasePBUiTransform() {
180
240
  borderLeftColor: undefined,
181
241
  borderRightColor: undefined,
182
242
  opacity: undefined,
243
+ elementId: undefined,
244
+ scrollPosition: undefined,
245
+ scrollVisible: undefined,
183
246
  zIndex: undefined,
184
247
  };
185
248
  }
@@ -408,6 +471,15 @@ export var PBUiTransform;
408
471
  if (message.opacity !== undefined) {
409
472
  writer.uint32(589).float(message.opacity);
410
473
  }
474
+ if (message.elementId !== undefined) {
475
+ writer.uint32(594).string(message.elementId);
476
+ }
477
+ if (message.scrollPosition !== undefined) {
478
+ ScrollPositionValue.encode(message.scrollPosition, writer.uint32(602).fork()).ldelim();
479
+ }
480
+ if (message.scrollVisible !== undefined) {
481
+ writer.uint32(608).int32(message.scrollVisible);
482
+ }
411
483
  if (message.zIndex !== undefined) {
412
484
  writer.uint32(616).int32(message.zIndex);
413
485
  }
@@ -859,6 +931,24 @@ export var PBUiTransform;
859
931
  }
860
932
  message.opacity = reader.float();
861
933
  continue;
934
+ case 74:
935
+ if (tag !== 594) {
936
+ break;
937
+ }
938
+ message.elementId = reader.string();
939
+ continue;
940
+ case 75:
941
+ if (tag !== 602) {
942
+ break;
943
+ }
944
+ message.scrollPosition = ScrollPositionValue.decode(reader, reader.uint32());
945
+ continue;
946
+ case 76:
947
+ if (tag !== 608) {
948
+ break;
949
+ }
950
+ message.scrollVisible = reader.int32();
951
+ continue;
862
952
  case 77:
863
953
  if (tag !== 616) {
864
954
  break;
@@ -2,22 +2,24 @@ import { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDef
2
2
  import { IEngine } from '../engine/types';
3
3
  import { AnimatorComponentDefinitionExtended } from './extended/Animator';
4
4
  import { AudioSourceComponentDefinitionExtended } from './extended/AudioSource';
5
+ import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
6
+ import { AvatarEquippedDataComponentDefinitionExtended } from './extended/AvatarEquippedData';
7
+ import { AvatarShapeComponentDefinitionExtended } from './extended/AvatarShape';
8
+ import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
5
9
  import { MaterialComponentDefinitionExtended } from './extended/Material';
6
10
  import { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
7
11
  import { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
8
12
  import { TweenComponentDefinitionExtended } from './extended/Tween';
9
- import { LwwComponentGetter, GSetComponentGetter } from './generated/index.gen';
13
+ import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
14
+ import { GSetComponentGetter, LwwComponentGetter } from './generated/index.gen';
15
+ import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
10
16
  import { NameType } from './manual/Name';
11
- import { ISyncComponentsType } from './manual/SyncComponents';
12
17
  import { INetowrkEntityType } from './manual/NetworkEntity';
13
18
  import { INetowrkParentType } from './manual/NetworkParent';
19
+ import { ISyncComponentsType } from './manual/SyncComponents';
14
20
  import { TransformComponentExtended } from './manual/Transform';
15
- import { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
16
- import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
17
- import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
18
- import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
19
21
  export * from './generated/index.gen';
20
- export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
22
+ export type { GrowOnlyValueSetComponentDefinition, GSetComponentGetter, LastWriteWinElementSetComponentDefinition, LwwComponentGetter };
21
23
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
22
24
  export declare const Material: LwwComponentGetter<MaterialComponentDefinitionExtended>;
23
25
  export declare const Animator: LwwComponentGetter<AnimatorComponentDefinitionExtended>;
@@ -26,6 +28,8 @@ export declare const AudioStream: (engine: Pick<IEngine, 'defineComponentFromSch
26
28
  export declare const MeshRenderer: LwwComponentGetter<MeshRendererComponentDefinitionExtended>;
27
29
  export declare const MeshCollider: LwwComponentGetter<MeshColliderComponentDefinitionExtended>;
28
30
  export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>;
31
+ export declare const AvatarShape: LwwComponentGetter<AvatarShapeComponentDefinitionExtended>;
32
+ export declare const AvatarEquippedData: LwwComponentGetter<AvatarEquippedDataComponentDefinitionExtended>;
29
33
  export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
30
34
  export declare const InputModifier: LwwComponentGetter<InputModifierComponentDefinitionExtended>;
31
35
  /**
@@ -1,18 +1,20 @@
1
1
  import { defineAnimatorComponent } from './extended/Animator';
2
2
  import { defineAudioSourceComponent } from './extended/AudioSource';
3
+ import { defineAudioStreamComponent } from './extended/AudioStream';
4
+ import { defineAvatarEquippedDataComponent } from './extended/AvatarEquippedData';
5
+ import { defineAvatarShapeComponent } from './extended/AvatarShape';
6
+ import { defineInputModifierComponent } from './extended/InputModifier';
3
7
  import { defineMaterialComponent } from './extended/Material';
4
8
  import { defineMeshColliderComponent } from './extended/MeshCollider';
5
9
  import { defineMeshRendererComponent } from './extended/MeshRenderer';
6
10
  import { defineTweenComponent } from './extended/Tween';
11
+ import { defineVirtualCameraComponent } from './extended/VirtualCamera';
12
+ import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
7
13
  import defineNameComponent from './manual/Name';
8
- import defineSyncComponent from './manual/SyncComponents';
9
14
  import defineNetworkEntity from './manual/NetworkEntity';
10
15
  import defineNetworkParent from './manual/NetworkParent';
16
+ import defineSyncComponent from './manual/SyncComponents';
11
17
  import { defineTransformComponent } from './manual/Transform';
12
- import { defineAudioStreamComponent } from './extended/AudioStream';
13
- import { MediaState } from './generated/pb/decentraland/sdk/components/common/media_state.gen';
14
- import { defineVirtualCameraComponent } from './extended/VirtualCamera';
15
- import { defineInputModifierComponent } from './extended/InputModifier';
16
18
  export * from './generated/index.gen';
17
19
  /* @__PURE__ */
18
20
  export const Transform = (engine) => defineTransformComponent(engine);
@@ -31,6 +33,10 @@ export const MeshCollider = (engine) => defineMeshColliderComponent(engine);
31
33
  /* @__PURE__ */
32
34
  export const Tween = (engine) => defineTweenComponent(engine);
33
35
  /* @__PURE__ */
36
+ export const AvatarShape = (engine) => defineAvatarShapeComponent(engine);
37
+ /* @__PURE__ */
38
+ export const AvatarEquippedData = (engine) => defineAvatarEquippedDataComponent(engine);
39
+ /* @__PURE__ */
34
40
  export const VirtualCamera = (engine) => defineVirtualCameraComponent(engine);
35
41
  /* @__PURE__*/
36
42
  export const InputModifier = (engine) => defineInputModifierComponent(engine);
@@ -3,6 +3,8 @@ export type { AudioSourceComponentDefinitionExtended } from './extended/AudioSou
3
3
  export type { AudioStreamComponentDefinitionExtended } from './extended/AudioStream';
4
4
  export type { MeshRendererComponentDefinitionExtended } from './extended/MeshRenderer';
5
5
  export type { MeshColliderComponentDefinitionExtended } from './extended/MeshCollider';
6
+ export type { AvatarEquippedDataComponentDefinitionExtended, AvatarEquippedDataType } from './extended/AvatarEquippedData';
7
+ export type { AvatarShapeComponentDefinitionExtended, AvatarShapeType } from './extended/AvatarShape';
6
8
  export type { TextureHelper, MaterialComponentDefinitionExtended } from './extended/Material';
7
9
  export type { TweenHelper, TweenComponentDefinitionExtended } from './extended/Tween';
8
10
  export type { CameraTransitionHelper, VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
package/dist/index.d.ts CHANGED
@@ -13,6 +13,8 @@ export * from './engine/entity';
13
13
  export * from './components/types';
14
14
  import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended } from './components/types';
15
15
  import { NameComponent } from './components/manual/Name';
16
+ import { AvatarEquippedDataComponentDefinitionExtended } from './components/extended/AvatarEquippedData';
17
+ import { AvatarShapeComponentDefinitionExtended } from './components/extended/AvatarShape';
16
18
  export declare const Transform: TransformComponentExtended;
17
19
  export declare const Animator: AnimatorComponentDefinitionExtended;
18
20
  export declare const AudioSource: AudioSourceComponentDefinitionExtended;
@@ -20,6 +22,8 @@ export declare const AudioStream: AudioStreamComponentDefinitionExtended;
20
22
  export declare const Material: MaterialComponentDefinitionExtended;
21
23
  export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
22
24
  export declare const MeshCollider: MeshColliderComponentDefinitionExtended;
25
+ export declare const AvatarEquippedData: AvatarEquippedDataComponentDefinitionExtended;
26
+ export declare const AvatarShape: AvatarShapeComponentDefinitionExtended;
23
27
  export declare const Name: NameComponent;
24
28
  export declare const Tween: TweenComponentDefinitionExtended;
25
29
  export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
package/dist/index.js CHANGED
@@ -25,6 +25,9 @@ export const AudioStream = /* @__PURE__*/ components.AudioStream(engine);
25
25
  export const Material = /* @__PURE__*/ components.Material(engine);
26
26
  export const MeshRenderer = /* @__PURE__*/ components.MeshRenderer(engine);
27
27
  export const MeshCollider = /* @__PURE__*/ components.MeshCollider(engine);
28
+ export const AvatarEquippedData =
29
+ /* @__PURE__*/ components.AvatarEquippedData(engine);
30
+ export const AvatarShape = /* @__PURE__*/ components.AvatarShape(engine);
28
31
  export const Name = components.Name(engine);
29
32
  export const Tween = /* @__PURE__*/ components.Tween(engine);
30
33
  export const VirtualCamera = /* @__PURE__*/ components.VirtualCamera(engine);
@@ -46,6 +46,24 @@ export interface PointerEventsSystem {
46
46
  * @param entity - Entity where the callback was attached
47
47
  */
48
48
  removeOnPointerHoverLeave(entity: Entity): void;
49
+ /**
50
+ * @public
51
+ * Remove the callback for onPointerDrag event
52
+ * @param entity - Entity where the callback was attached
53
+ */
54
+ removeOnPointerDrag(entity: Entity): void;
55
+ /**
56
+ * @public
57
+ * Remove the callback for onPointerDragLocked event
58
+ * @param entity - Entity where the callback was attached
59
+ */
60
+ removeOnPointerDragLocked(entity: Entity): void;
61
+ /**
62
+ * @public
63
+ * Remove the callback for onPointerDragEnd event
64
+ * @param entity - Entity where the callback was attached
65
+ */
66
+ removeOnPointerDragEnd(entity: Entity): void;
49
67
  /**
50
68
  * @public
51
69
  * Execute callback when the user press the InputButton pointing at the entity
@@ -100,6 +118,37 @@ export interface PointerEventsSystem {
100
118
  entity: Entity;
101
119
  opts?: Partial<EventSystemOptions>;
102
120
  }, cb: EventSystemCallback): void;
121
+ /**
122
+ * @public
123
+ * Execute callback when the user clicks and drags the pointer from inside the entity
124
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
125
+ * @param cb - Function to execute when click fires
126
+ */
127
+ onPointerDrag(pointerData: {
128
+ entity: Entity;
129
+ opts?: Partial<EventSystemOptions>;
130
+ }, cb: EventSystemCallback): void;
131
+ /**
132
+ * @public
133
+ * Execute callback when the user clicks and drags the pointer from inside the entity,
134
+ * locking the cursor in place
135
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
136
+ * @param cb - Function to execute when click fires
137
+ */
138
+ onPointerDragLocked(pointerData: {
139
+ entity: Entity;
140
+ opts?: Partial<EventSystemOptions>;
141
+ }, cb: EventSystemCallback): void;
142
+ /**
143
+ * @public
144
+ * Execute callback when the user releases the button after a drag
145
+ * @param pointerData - Entity to attach the callback - Opts to trigger Feedback and Button
146
+ * @param cb - Function to execute when click fires
147
+ */
148
+ onPointerDragEnd(pointerData: {
149
+ entity: Entity;
150
+ opts?: Partial<EventSystemOptions>;
151
+ }, cb: EventSystemCallback): void;
103
152
  }
104
153
  /**
105
154
  * @public
@@ -18,6 +18,9 @@ export function createPointerEventsSystem(engine, inputSystem) {
18
18
  EventType[EventType["Up"] = 2] = "Up";
19
19
  EventType[EventType["HoverEnter"] = 3] = "HoverEnter";
20
20
  EventType[EventType["HoverLeave"] = 4] = "HoverLeave";
21
+ EventType[EventType["Drag"] = 5] = "Drag";
22
+ EventType[EventType["DragLocked"] = 6] = "DragLocked";
23
+ EventType[EventType["DragEnd"] = 7] = "DragEnd";
21
24
  })(EventType || (EventType = {}));
22
25
  const eventsMap = new Map();
23
26
  function getEvent(entity) {
@@ -52,6 +55,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
52
55
  else if (eventType === EventType.HoverEnter) {
53
56
  return 2 /* PointerEventType.PET_HOVER_ENTER */;
54
57
  }
58
+ else if (eventType === EventType.Drag) {
59
+ return 5 /* PointerEventType.PET_DRAG */;
60
+ }
61
+ else if (eventType === EventType.DragLocked) {
62
+ return 4 /* PointerEventType.PET_DRAG_LOCKED */;
63
+ }
64
+ else if (eventType === EventType.DragEnd) {
65
+ return 6 /* PointerEventType.PET_DRAG_END */;
66
+ }
55
67
  return 1 /* PointerEventType.PET_DOWN */;
56
68
  }
57
69
  function removeEvent(entity, type) {
@@ -77,7 +89,10 @@ export function createPointerEventsSystem(engine, inputSystem) {
77
89
  if (eventType === EventType.Down ||
78
90
  eventType === EventType.Up ||
79
91
  eventType === EventType.HoverEnter ||
80
- eventType === EventType.HoverLeave) {
92
+ eventType === EventType.HoverLeave ||
93
+ eventType === EventType.Drag ||
94
+ eventType === EventType.DragLocked ||
95
+ eventType === EventType.DragEnd) {
81
96
  const command = inputSystem.getInputCommand(opts.button, getPointerEvent(eventType), entity);
82
97
  if (command) {
83
98
  checkNotThenable(cb(command), 'Event handler returned a thenable. Only synchronous functions are allowed');
@@ -124,6 +139,30 @@ export function createPointerEventsSystem(engine, inputSystem) {
124
139
  getEvent(entity).set(EventType.HoverLeave, { cb, opts: options });
125
140
  setPointerEvent(entity, 3 /* PointerEventType.PET_HOVER_LEAVE */, options);
126
141
  };
142
+ const onPointerDrag = (...args) => {
143
+ const [data, cb] = args;
144
+ const { entity, opts } = data;
145
+ const options = getDefaultOpts(opts);
146
+ removeEvent(entity, EventType.Drag);
147
+ getEvent(entity).set(EventType.Drag, { cb, opts: options });
148
+ setPointerEvent(entity, 5 /* PointerEventType.PET_DRAG */, options);
149
+ };
150
+ const onPointerDragLocked = (...args) => {
151
+ const [data, cb] = args;
152
+ const { entity, opts } = data;
153
+ const options = getDefaultOpts(opts);
154
+ removeEvent(entity, EventType.DragLocked);
155
+ getEvent(entity).set(EventType.DragLocked, { cb, opts: options });
156
+ setPointerEvent(entity, 4 /* PointerEventType.PET_DRAG_LOCKED */, options);
157
+ };
158
+ const onPointerDragEnd = (...args) => {
159
+ const [data, cb] = args;
160
+ const { entity, opts } = data;
161
+ const options = getDefaultOpts(opts);
162
+ removeEvent(entity, EventType.DragEnd);
163
+ getEvent(entity).set(EventType.DragEnd, { cb, opts: options });
164
+ setPointerEvent(entity, 6 /* PointerEventType.PET_DRAG_END */, options);
165
+ };
127
166
  return {
128
167
  removeOnClick(entity) {
129
168
  removeEvent(entity, EventType.Click);
@@ -140,6 +179,15 @@ export function createPointerEventsSystem(engine, inputSystem) {
140
179
  removeOnPointerHoverLeave(entity) {
141
180
  removeEvent(entity, EventType.HoverLeave);
142
181
  },
182
+ removeOnPointerDrag(entity) {
183
+ removeEvent(entity, EventType.Drag);
184
+ },
185
+ removeOnPointerDragLocked(entity) {
186
+ removeEvent(entity, EventType.DragLocked);
187
+ },
188
+ removeOnPointerDragEnd(entity) {
189
+ removeEvent(entity, EventType.DragEnd);
190
+ },
143
191
  onClick(value, cb) {
144
192
  const { entity } = value;
145
193
  const options = getDefaultOpts(value.opts);
@@ -152,6 +200,9 @@ export function createPointerEventsSystem(engine, inputSystem) {
152
200
  onPointerDown,
153
201
  onPointerUp,
154
202
  onPointerHoverEnter,
155
- onPointerHoverLeave
203
+ onPointerHoverLeave,
204
+ onPointerDrag,
205
+ onPointerDragLocked,
206
+ onPointerDragEnd
156
207
  };
157
208
  }
@@ -0,0 +1,10 @@
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;
@@ -0,0 +1,19 @@
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
+ if (value.forceRender === undefined) {
10
+ origSerialize({ forceRender: [], ...value }, builder);
11
+ }
12
+ else {
13
+ origSerialize(value, builder);
14
+ }
15
+ };
16
+ const theComponent = engine.defineComponentFromSchema('core::AvatarEquippedData', patchedSchema);
17
+ return theComponent;
18
+ }
19
+ exports.defineAvatarEquippedDataComponent = defineAvatarEquippedDataComponent;
@@ -0,0 +1,10 @@
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;
@@ -0,0 +1,19 @@
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
+ if (value.forceRender === undefined) {
10
+ origSerialize({ forceRender: [], ...value }, builder);
11
+ }
12
+ else {
13
+ origSerialize(value, builder);
14
+ }
15
+ };
16
+ const theComponent = engine.defineComponentFromSchema('core::AvatarShape', patchedSchema);
17
+ return theComponent;
18
+ }
19
+ exports.defineAvatarShapeComponent = defineAvatarShapeComponent;
@@ -34,5 +34,13 @@ 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 gltf internal mesh in the MeshCollider component
40
+ * @param entity - entity to create or replace the MeshRenderer component
41
+ * @param source - the path to the gltf
42
+ * @param meshName - the name of the mesh in the gltf
43
+ */
44
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
45
  }
38
46
  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 gltf internal mesh 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
41
+ */
42
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
35
43
  }
36
44
  export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;