@dcl/ecs 7.10.2 → 7.10.3-18106625709.commit-1bcaa4a

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 (61) hide show
  1. package/dist/components/extended/TriggerArea.d.ts +22 -0
  2. package/dist/components/extended/TriggerArea.js +27 -0
  3. package/dist/components/generated/TriggerArea.gen.d.ts +1 -0
  4. package/dist/components/generated/TriggerArea.gen.js +25 -0
  5. package/dist/components/generated/TriggerAreaResult.gen.d.ts +1 -0
  6. package/dist/components/generated/TriggerAreaResult.gen.js +25 -0
  7. package/dist/components/generated/component-names.gen.js +2 -0
  8. package/dist/components/generated/global.gen.d.ts +4 -0
  9. package/dist/components/generated/global.gen.js +2 -0
  10. package/dist/components/generated/index.gen.d.ts +8 -0
  11. package/dist/components/generated/index.gen.js +12 -0
  12. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +2 -1
  13. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +2 -1
  14. package/dist/components/generated/pb/decentraland/sdk/components/trigger_area.gen.d.ts +32 -0
  15. package/dist/components/generated/pb/decentraland/sdk/components/trigger_area.gen.js +58 -0
  16. package/dist/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.d.ts +60 -0
  17. package/dist/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.js +177 -0
  18. package/dist/components/index.d.ts +4 -0
  19. package/dist/components/index.js +6 -0
  20. package/dist/components/manual/Tags.d.ts +34 -0
  21. package/dist/components/manual/Tags.js +37 -0
  22. package/dist/components/types.d.ts +2 -0
  23. package/dist/engine/index.js +10 -0
  24. package/dist/engine/types.d.ts +7 -0
  25. package/dist/index.d.ts +5 -1
  26. package/dist/index.js +3 -0
  27. package/dist/runtime/initialization/index.d.ts +7 -0
  28. package/dist/runtime/initialization/index.js +6 -0
  29. package/dist/systems/triggerArea.d.ts +50 -0
  30. package/dist/systems/triggerArea.js +113 -0
  31. package/dist-cjs/components/extended/TriggerArea.d.ts +22 -0
  32. package/dist-cjs/components/extended/TriggerArea.js +31 -0
  33. package/dist-cjs/components/generated/TriggerArea.gen.d.ts +1 -0
  34. package/dist-cjs/components/generated/TriggerArea.gen.js +28 -0
  35. package/dist-cjs/components/generated/TriggerAreaResult.gen.d.ts +1 -0
  36. package/dist-cjs/components/generated/TriggerAreaResult.gen.js +28 -0
  37. package/dist-cjs/components/generated/component-names.gen.js +2 -0
  38. package/dist-cjs/components/generated/global.gen.d.ts +4 -0
  39. package/dist-cjs/components/generated/global.gen.js +3 -1
  40. package/dist-cjs/components/generated/index.gen.d.ts +8 -0
  41. package/dist-cjs/components/generated/index.gen.js +16 -1
  42. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +2 -1
  43. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +2 -1
  44. package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area.gen.d.ts +32 -0
  45. package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area.gen.js +64 -0
  46. package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.d.ts +60 -0
  47. package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.js +183 -0
  48. package/dist-cjs/components/index.d.ts +4 -0
  49. package/dist-cjs/components/index.js +9 -1
  50. package/dist-cjs/components/manual/Tags.d.ts +34 -0
  51. package/dist-cjs/components/manual/Tags.js +39 -0
  52. package/dist-cjs/components/types.d.ts +2 -0
  53. package/dist-cjs/engine/index.js +10 -0
  54. package/dist-cjs/engine/types.d.ts +7 -0
  55. package/dist-cjs/index.d.ts +5 -1
  56. package/dist-cjs/index.js +4 -1
  57. package/dist-cjs/runtime/initialization/index.d.ts +7 -0
  58. package/dist-cjs/runtime/initialization/index.js +7 -1
  59. package/dist-cjs/systems/triggerArea.d.ts +50 -0
  60. package/dist-cjs/systems/triggerArea.js +140 -0
  61. package/package.json +2 -2
@@ -0,0 +1,22 @@
1
+ import { Entity, IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { ColliderLayer, PBTriggerArea } from '../generated/index.gen';
3
+ /**
4
+ * @public
5
+ */
6
+ export interface TriggerAreaComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<PBTriggerArea> {
7
+ /**
8
+ * @public
9
+ * Set a box in the MeshCollider component
10
+ * @param entity - entity to create or replace the TriggerArea component
11
+ * @param collisionMask - the collision layers mask for the trigger to react, default: Player
12
+ */
13
+ setBox(entity: Entity, collisionMask?: ColliderLayer | ColliderLayer[]): void;
14
+ /**
15
+ * @public
16
+ * Set a sphere in the MeshCollider component
17
+ * @param entity - entity to create or replace the TriggerArea component
18
+ * @param collisionMask - the collision layers mask for the trigger to react, default: Player
19
+ */
20
+ setSphere(entity: Entity, collisionMask?: ColliderLayer | ColliderLayer[]): void;
21
+ }
22
+ export declare function defineTriggerAreaComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): TriggerAreaComponentDefinitionExtended;
@@ -0,0 +1,27 @@
1
+ import { TriggerArea } from '../generated/index.gen';
2
+ export function defineTriggerAreaComponent(engine) {
3
+ const theComponent = TriggerArea(engine);
4
+ function getCollisionMask(layers) {
5
+ if (Array.isArray(layers)) {
6
+ return layers.map((item) => item).reduce((prev, item) => prev | item, 0);
7
+ }
8
+ else if (layers) {
9
+ return layers;
10
+ }
11
+ }
12
+ return {
13
+ ...theComponent,
14
+ setBox(entity, collisionMask) {
15
+ theComponent.createOrReplace(entity, {
16
+ mesh: 0 /* TriggerAreaMeshType.TAMT_BOX */,
17
+ collisionMask: getCollisionMask(collisionMask)
18
+ });
19
+ },
20
+ setSphere(entity, collisionMask) {
21
+ theComponent.createOrReplace(entity, {
22
+ mesh: 1 /* TriggerAreaMeshType.TAMT_SPHERE */,
23
+ collisionMask: getCollisionMask(collisionMask)
24
+ });
25
+ }
26
+ };
27
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { PBTriggerArea } from './pb/decentraland/sdk/components/trigger_area.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const TriggerAreaSchema = {
6
+ COMPONENT_ID: 1060,
7
+ serialize(value, builder) {
8
+ const writer = PBTriggerArea.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBTriggerArea.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBTriggerArea.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBTriggerArea"
24
+ }
25
+ };
@@ -0,0 +1,25 @@
1
+ import { PBTriggerAreaResult } from './pb/decentraland/sdk/components/trigger_area_result.gen';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const TriggerAreaResultSchema = {
6
+ COMPONENT_ID: 1061,
7
+ serialize(value, builder) {
8
+ const writer = PBTriggerAreaResult.encode(value);
9
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
10
+ builder.writeBuffer(buffer, false);
11
+ },
12
+ deserialize(reader) {
13
+ return PBTriggerAreaResult.decode(reader.buffer(), reader.remainingBytes());
14
+ },
15
+ create() {
16
+ // TODO: this is a hack.
17
+ return PBTriggerAreaResult.decode(new Uint8Array());
18
+ },
19
+ jsonSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ serializationType: "protocol-buffer",
23
+ protocolBuffer: "PBTriggerAreaResult"
24
+ }
25
+ };
@@ -38,6 +38,8 @@ export const coreComponentMappings = {
38
38
  "core::RealmInfo": 1106,
39
39
  "core::SkyboxTime": 1210,
40
40
  "core::TextShape": 1030,
41
+ "core::TriggerArea": 1060,
42
+ "core::TriggerAreaResult": 1061,
41
43
  "core::Tween": 1102,
42
44
  "core::TweenSequence": 1104,
43
45
  "core::TweenState": 1103,
@@ -30,6 +30,8 @@ import { PBRaycastResult } from './pb/decentraland/sdk/components/raycast_result
30
30
  import { PBRealmInfo } from './pb/decentraland/sdk/components/realm_info.gen';
31
31
  import { PBSkyboxTime } from './pb/decentraland/sdk/components/skybox_time.gen';
32
32
  import { PBTextShape } from './pb/decentraland/sdk/components/text_shape.gen';
33
+ import { PBTriggerArea } from './pb/decentraland/sdk/components/trigger_area.gen';
34
+ import { PBTriggerAreaResult } from './pb/decentraland/sdk/components/trigger_area_result.gen';
33
35
  import { PBTweenSequence } from './pb/decentraland/sdk/components/tween_sequence.gen';
34
36
  import { PBTweenState } from './pb/decentraland/sdk/components/tween_state.gen';
35
37
  import { PBUiBackground } from './pb/decentraland/sdk/components/ui_background.gen';
@@ -74,6 +76,8 @@ import { PBVisibilityComponent } from './pb/decentraland/sdk/components/visibili
74
76
  /** @public */ export declare const RealmInfo: LastWriteWinElementSetComponentDefinition<PBRealmInfo>;
75
77
  /** @public */ export declare const SkyboxTime: LastWriteWinElementSetComponentDefinition<PBSkyboxTime>;
76
78
  /** @public */ export declare const TextShape: LastWriteWinElementSetComponentDefinition<PBTextShape>;
79
+ /** @public */ export declare const TriggerArea: LastWriteWinElementSetComponentDefinition<PBTriggerArea>;
80
+ /** @public */ export declare const TriggerAreaResult: GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>;
77
81
  /** @public */ export declare const TweenSequence: LastWriteWinElementSetComponentDefinition<PBTweenSequence>;
78
82
  /** @public */ export declare const TweenState: LastWriteWinElementSetComponentDefinition<PBTweenState>;
79
83
  /** @public */ export declare const UiBackground: LastWriteWinElementSetComponentDefinition<PBUiBackground>;
@@ -31,6 +31,8 @@ export * from './index.gen';
31
31
  /** @public */ export const RealmInfo = /* @__PURE__ */ components.RealmInfo(engine);
32
32
  /** @public */ export const SkyboxTime = /* @__PURE__ */ components.SkyboxTime(engine);
33
33
  /** @public */ export const TextShape = /* @__PURE__ */ components.TextShape(engine);
34
+ /** @public */ export const TriggerArea = /* @__PURE__ */ components.TriggerArea(engine);
35
+ /** @public */ export const TriggerAreaResult = /* @__PURE__ */ components.TriggerAreaResult(engine);
34
36
  /** @public */ export const TweenSequence = /* @__PURE__ */ components.TweenSequence(engine);
35
37
  /** @public */ export const TweenState = /* @__PURE__ */ components.TweenState(engine);
36
38
  /** @public */ export const UiBackground = /* @__PURE__ */ components.UiBackground(engine);
@@ -34,6 +34,8 @@ import { PBRaycastResult } from './pb/decentraland/sdk/components/raycast_result
34
34
  import { PBRealmInfo } from './pb/decentraland/sdk/components/realm_info.gen';
35
35
  import { PBSkyboxTime } from './pb/decentraland/sdk/components/skybox_time.gen';
36
36
  import { PBTextShape } from './pb/decentraland/sdk/components/text_shape.gen';
37
+ import { PBTriggerArea } from './pb/decentraland/sdk/components/trigger_area.gen';
38
+ import { PBTriggerAreaResult } from './pb/decentraland/sdk/components/trigger_area_result.gen';
37
39
  import { PBTween } from './pb/decentraland/sdk/components/tween.gen';
38
40
  import { PBTweenSequence } from './pb/decentraland/sdk/components/tween_sequence.gen';
39
41
  import { PBTweenState } from './pb/decentraland/sdk/components/tween_state.gen';
@@ -83,6 +85,8 @@ export * from './pb/decentraland/sdk/components/raycast_result.gen';
83
85
  export * from './pb/decentraland/sdk/components/realm_info.gen';
84
86
  export * from './pb/decentraland/sdk/components/skybox_time.gen';
85
87
  export * from './pb/decentraland/sdk/components/text_shape.gen';
88
+ export * from './pb/decentraland/sdk/components/trigger_area.gen';
89
+ export * from './pb/decentraland/sdk/components/trigger_area_result.gen';
86
90
  export * from './pb/decentraland/sdk/components/tween.gen';
87
91
  export * from './pb/decentraland/sdk/components/tween_sequence.gen';
88
92
  export * from './pb/decentraland/sdk/components/tween_state.gen';
@@ -134,6 +138,8 @@ export type GSetComponentGetter<T extends GrowOnlyValueSetComponentDefinition<an
134
138
  /** @public */ export declare const RealmInfo: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
135
139
  /** @public */ export declare const SkyboxTime: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
136
140
  /** @public */ export declare const TextShape: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
141
+ /** @public */ export declare const TriggerArea: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
142
+ /** @public */ export declare const TriggerAreaResult: GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
137
143
  /** @public */ export declare const Tween: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTween>>;
138
144
  /** @public */ export declare const TweenSequence: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
139
145
  /** @public */ export declare const TweenState: LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
@@ -185,6 +191,8 @@ export declare const componentDefinitionByName: {
185
191
  "core::RealmInfo": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBRealmInfo>>;
186
192
  "core::SkyboxTime": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBSkyboxTime>>;
187
193
  "core::TextShape": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTextShape>>;
194
+ "core::TriggerArea": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTriggerArea>>;
195
+ "core::TriggerAreaResult": GSetComponentGetter<GrowOnlyValueSetComponentDefinition<PBTriggerAreaResult>>;
188
196
  "core::Tween": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTween>>;
189
197
  "core::TweenSequence": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenSequence>>;
190
198
  "core::TweenState": LwwComponentGetter<LastWriteWinElementSetComponentDefinition<PBTweenState>>;
@@ -32,6 +32,8 @@ import { RaycastResultSchema } from './RaycastResult.gen';
32
32
  import { RealmInfoSchema } from './RealmInfo.gen';
33
33
  import { SkyboxTimeSchema } from './SkyboxTime.gen';
34
34
  import { TextShapeSchema } from './TextShape.gen';
35
+ import { TriggerAreaSchema } from './TriggerArea.gen';
36
+ import { TriggerAreaResultSchema } from './TriggerAreaResult.gen';
35
37
  import { TweenSchema } from './Tween.gen';
36
38
  import { TweenSequenceSchema } from './TweenSequence.gen';
37
39
  import { TweenStateSchema } from './TweenState.gen';
@@ -81,6 +83,8 @@ export * from './pb/decentraland/sdk/components/raycast_result.gen';
81
83
  export * from './pb/decentraland/sdk/components/realm_info.gen';
82
84
  export * from './pb/decentraland/sdk/components/skybox_time.gen';
83
85
  export * from './pb/decentraland/sdk/components/text_shape.gen';
86
+ export * from './pb/decentraland/sdk/components/trigger_area.gen';
87
+ export * from './pb/decentraland/sdk/components/trigger_area_result.gen';
84
88
  export * from './pb/decentraland/sdk/components/tween.gen';
85
89
  export * from './pb/decentraland/sdk/components/tween_sequence.gen';
86
90
  export * from './pb/decentraland/sdk/components/tween_state.gen';
@@ -170,6 +174,12 @@ export * from './pb/decentraland/sdk/components/visibility_component.gen';
170
174
  /* @__PURE__ */ engine.defineComponentFromSchema("core::SkyboxTime", SkyboxTimeSchema);
171
175
  /** @public */ export const TextShape = engine =>
172
176
  /* @__PURE__ */ engine.defineComponentFromSchema("core::TextShape", TextShapeSchema);
177
+ /** @public */ export const TriggerArea = engine =>
178
+ /* @__PURE__ */ engine.defineComponentFromSchema("core::TriggerArea", TriggerAreaSchema);
179
+ /** @public */ export const TriggerAreaResult = (engine) => /* @__PURE__ */ engine.defineValueSetComponentFromSchema("core::TriggerAreaResult", TriggerAreaResultSchema, {
180
+ timestampFunction: (t) => t.timestamp,
181
+ maxElements: 100
182
+ });
173
183
  /** @public */ export const Tween = engine =>
174
184
  /* @__PURE__ */ engine.defineComponentFromSchema("core::Tween", TweenSchema);
175
185
  /** @public */ export const TweenSequence = engine =>
@@ -238,6 +248,8 @@ export const componentDefinitionByName = /* @__PURE__ */ {
238
248
  "core::RealmInfo": RealmInfo,
239
249
  "core::SkyboxTime": SkyboxTime,
240
250
  "core::TextShape": TextShape,
251
+ "core::TriggerArea": TriggerArea,
252
+ "core::TriggerAreaResult": TriggerAreaResult,
241
253
  "core::Tween": Tween,
242
254
  "core::TweenSequence": TweenSequence,
243
255
  "core::TweenState": TweenState,
@@ -10,7 +10,8 @@ export declare const enum ColliderLayer {
10
10
  CL_POINTER = 1,
11
11
  /** CL_PHYSICS - collision affecting your player's physics i.e. walls, floor, moving platfroms */
12
12
  CL_PHYSICS = 2,
13
- CL_RESERVED1 = 4,
13
+ /** CL_PLAYER - layer corresponding to any player avatar */
14
+ CL_PLAYER = 4,
14
15
  CL_RESERVED2 = 8,
15
16
  CL_RESERVED3 = 16,
16
17
  CL_RESERVED4 = 32,
@@ -13,7 +13,8 @@ export var ColliderLayer;
13
13
  ColliderLayer[ColliderLayer["CL_POINTER"] = 1] = "CL_POINTER";
14
14
  /** CL_PHYSICS - collision affecting your player's physics i.e. walls, floor, moving platfroms */
15
15
  ColliderLayer[ColliderLayer["CL_PHYSICS"] = 2] = "CL_PHYSICS";
16
- ColliderLayer[ColliderLayer["CL_RESERVED1"] = 4] = "CL_RESERVED1";
16
+ /** CL_PLAYER - layer corresponding to any player avatar */
17
+ ColliderLayer[ColliderLayer["CL_PLAYER"] = 4] = "CL_PLAYER";
17
18
  ColliderLayer[ColliderLayer["CL_RESERVED2"] = 8] = "CL_RESERVED2";
18
19
  ColliderLayer[ColliderLayer["CL_RESERVED3"] = 16] = "CL_RESERVED3";
19
20
  ColliderLayer[ColliderLayer["CL_RESERVED4"] = 32] = "CL_RESERVED4";
@@ -0,0 +1,32 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ /**
3
+ * @public
4
+ */
5
+ export declare const enum TriggerAreaMeshType {
6
+ TAMT_BOX = 0,
7
+ TAMT_SPHERE = 1
8
+ }
9
+ /**
10
+ * The PBTriggerArea component is used to raise collision triggering events (through the TriggerAreaResult component)
11
+ * when entities enter this component's defined area.
12
+ *
13
+ * ADR: https://github.com/decentraland/adr/blob/2b30a5e2b4f359a7c22a68fb827db282f6e5f887/content/ADR-258-trigger-areas.md
14
+ *
15
+ * The area size and rotation is defined by the Entity's Transform.
16
+ */
17
+ /**
18
+ * @public
19
+ */
20
+ export interface PBTriggerArea {
21
+ /** default: MT_BOX */
22
+ mesh?: TriggerAreaMeshType | undefined;
23
+ /** default: CL_PLAYER */
24
+ collisionMask?: number | undefined;
25
+ }
26
+ /**
27
+ * @public
28
+ */
29
+ export declare namespace PBTriggerArea {
30
+ function encode(message: PBTriggerArea, writer?: _m0.Writer): _m0.Writer;
31
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBTriggerArea;
32
+ }
@@ -0,0 +1,58 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ const protobufPackageSarasa = "decentraland.sdk.components";
4
+ /**
5
+ * @public
6
+ */
7
+ export var TriggerAreaMeshType;
8
+ (function (TriggerAreaMeshType) {
9
+ TriggerAreaMeshType[TriggerAreaMeshType["TAMT_BOX"] = 0] = "TAMT_BOX";
10
+ TriggerAreaMeshType[TriggerAreaMeshType["TAMT_SPHERE"] = 1] = "TAMT_SPHERE";
11
+ })(TriggerAreaMeshType || (TriggerAreaMeshType = {}));
12
+ function createBasePBTriggerArea() {
13
+ return { mesh: undefined, collisionMask: undefined };
14
+ }
15
+ /**
16
+ * @public
17
+ */
18
+ export var PBTriggerArea;
19
+ (function (PBTriggerArea) {
20
+ function encode(message, writer = _m0.Writer.create()) {
21
+ if (message.mesh !== undefined) {
22
+ writer.uint32(8).int32(message.mesh);
23
+ }
24
+ if (message.collisionMask !== undefined) {
25
+ writer.uint32(16).uint32(message.collisionMask);
26
+ }
27
+ return writer;
28
+ }
29
+ PBTriggerArea.encode = encode;
30
+ function decode(input, length) {
31
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
32
+ let end = length === undefined ? reader.len : reader.pos + length;
33
+ const message = createBasePBTriggerArea();
34
+ while (reader.pos < end) {
35
+ const tag = reader.uint32();
36
+ switch (tag >>> 3) {
37
+ case 1:
38
+ if (tag !== 8) {
39
+ break;
40
+ }
41
+ message.mesh = reader.int32();
42
+ continue;
43
+ case 2:
44
+ if (tag !== 16) {
45
+ break;
46
+ }
47
+ message.collisionMask = reader.uint32();
48
+ continue;
49
+ }
50
+ if ((tag & 7) === 4 || tag === 0) {
51
+ break;
52
+ }
53
+ reader.skipType(tag & 7);
54
+ }
55
+ return message;
56
+ }
57
+ PBTriggerArea.decode = decode;
58
+ })(PBTriggerArea || (PBTriggerArea = {}));
@@ -0,0 +1,60 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ import { Quaternion, Vector3 } from "../../common/vectors.gen";
3
+ /**
4
+ * @public
5
+ */
6
+ export declare const enum TriggerAreaEventType {
7
+ TAET_ENTER = 0,
8
+ TAET_STAY = 1,
9
+ TAET_EXIT = 2
10
+ }
11
+ /**
12
+ * The PBTriggerAreaResult component is used to transport the trigger collision event data for the PBTriggerArea component.
13
+ * ADR: https://github.com/decentraland/adr/blob/2b30a5e2b4f359a7c22a68fb827db282f6e5f887/content/ADR-258-trigger-areas.md
14
+ */
15
+ /**
16
+ * @public
17
+ */
18
+ export interface PBTriggerAreaResult {
19
+ /** The entity that was triggered (this is the entity that owns the trigger area) */
20
+ triggeredEntity: number;
21
+ /** The position of the triggered entity at the time of the trigger */
22
+ triggeredEntityPosition: Vector3 | undefined;
23
+ /** The rotation of the triggered entity at the time of the trigger */
24
+ triggeredEntityRotation: Quaternion | undefined;
25
+ /** The state of the trigger event (ENTER, STAY, EXIT) */
26
+ eventType: TriggerAreaEventType;
27
+ /** The timestamp of the trigger event */
28
+ timestamp: number;
29
+ trigger: PBTriggerAreaResult_Trigger | undefined;
30
+ }
31
+ /** Trigger data object */
32
+ /**
33
+ * @public
34
+ */
35
+ export interface PBTriggerAreaResult_Trigger {
36
+ /** The entity that triggered the Trigger Area */
37
+ entity: number;
38
+ /** The collision layermask of the entity that triggered the Trigger Area */
39
+ layers: number;
40
+ /** The position of the entity that triggered the trigger */
41
+ position: Vector3 | undefined;
42
+ /** The rotation of the entity that triggered the trigger */
43
+ rotation: Quaternion | undefined;
44
+ /** The scale of the entity that triggered the trigger */
45
+ scale: Vector3 | undefined;
46
+ }
47
+ /**
48
+ * @public
49
+ */
50
+ export declare namespace PBTriggerAreaResult {
51
+ function encode(message: PBTriggerAreaResult, writer?: _m0.Writer): _m0.Writer;
52
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBTriggerAreaResult;
53
+ }
54
+ /**
55
+ * @public
56
+ */
57
+ export declare namespace PBTriggerAreaResult_Trigger {
58
+ function encode(message: PBTriggerAreaResult_Trigger, writer?: _m0.Writer): _m0.Writer;
59
+ function decode(input: _m0.Reader | Uint8Array, length?: number): PBTriggerAreaResult_Trigger;
60
+ }
@@ -0,0 +1,177 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { Quaternion, Vector3 } from "../../common/vectors.gen";
4
+ const protobufPackageSarasa = "decentraland.sdk.components";
5
+ /**
6
+ * @public
7
+ */
8
+ export var TriggerAreaEventType;
9
+ (function (TriggerAreaEventType) {
10
+ TriggerAreaEventType[TriggerAreaEventType["TAET_ENTER"] = 0] = "TAET_ENTER";
11
+ TriggerAreaEventType[TriggerAreaEventType["TAET_STAY"] = 1] = "TAET_STAY";
12
+ TriggerAreaEventType[TriggerAreaEventType["TAET_EXIT"] = 2] = "TAET_EXIT";
13
+ })(TriggerAreaEventType || (TriggerAreaEventType = {}));
14
+ function createBasePBTriggerAreaResult() {
15
+ return {
16
+ triggeredEntity: 0,
17
+ triggeredEntityPosition: undefined,
18
+ triggeredEntityRotation: undefined,
19
+ eventType: 0,
20
+ timestamp: 0,
21
+ trigger: undefined,
22
+ };
23
+ }
24
+ /**
25
+ * @public
26
+ */
27
+ export var PBTriggerAreaResult;
28
+ (function (PBTriggerAreaResult) {
29
+ function encode(message, writer = _m0.Writer.create()) {
30
+ if (message.triggeredEntity !== 0) {
31
+ writer.uint32(8).uint32(message.triggeredEntity);
32
+ }
33
+ if (message.triggeredEntityPosition !== undefined) {
34
+ Vector3.encode(message.triggeredEntityPosition, writer.uint32(18).fork()).ldelim();
35
+ }
36
+ if (message.triggeredEntityRotation !== undefined) {
37
+ Quaternion.encode(message.triggeredEntityRotation, writer.uint32(26).fork()).ldelim();
38
+ }
39
+ if (message.eventType !== 0) {
40
+ writer.uint32(32).int32(message.eventType);
41
+ }
42
+ if (message.timestamp !== 0) {
43
+ writer.uint32(40).uint32(message.timestamp);
44
+ }
45
+ if (message.trigger !== undefined) {
46
+ PBTriggerAreaResult_Trigger.encode(message.trigger, writer.uint32(50).fork()).ldelim();
47
+ }
48
+ return writer;
49
+ }
50
+ PBTriggerAreaResult.encode = encode;
51
+ function decode(input, length) {
52
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
53
+ let end = length === undefined ? reader.len : reader.pos + length;
54
+ const message = createBasePBTriggerAreaResult();
55
+ while (reader.pos < end) {
56
+ const tag = reader.uint32();
57
+ switch (tag >>> 3) {
58
+ case 1:
59
+ if (tag !== 8) {
60
+ break;
61
+ }
62
+ message.triggeredEntity = reader.uint32();
63
+ continue;
64
+ case 2:
65
+ if (tag !== 18) {
66
+ break;
67
+ }
68
+ message.triggeredEntityPosition = Vector3.decode(reader, reader.uint32());
69
+ continue;
70
+ case 3:
71
+ if (tag !== 26) {
72
+ break;
73
+ }
74
+ message.triggeredEntityRotation = Quaternion.decode(reader, reader.uint32());
75
+ continue;
76
+ case 4:
77
+ if (tag !== 32) {
78
+ break;
79
+ }
80
+ message.eventType = reader.int32();
81
+ continue;
82
+ case 5:
83
+ if (tag !== 40) {
84
+ break;
85
+ }
86
+ message.timestamp = reader.uint32();
87
+ continue;
88
+ case 6:
89
+ if (tag !== 50) {
90
+ break;
91
+ }
92
+ message.trigger = PBTriggerAreaResult_Trigger.decode(reader, reader.uint32());
93
+ continue;
94
+ }
95
+ if ((tag & 7) === 4 || tag === 0) {
96
+ break;
97
+ }
98
+ reader.skipType(tag & 7);
99
+ }
100
+ return message;
101
+ }
102
+ PBTriggerAreaResult.decode = decode;
103
+ })(PBTriggerAreaResult || (PBTriggerAreaResult = {}));
104
+ function createBasePBTriggerAreaResult_Trigger() {
105
+ return { entity: 0, layers: 0, position: undefined, rotation: undefined, scale: undefined };
106
+ }
107
+ /**
108
+ * @public
109
+ */
110
+ export var PBTriggerAreaResult_Trigger;
111
+ (function (PBTriggerAreaResult_Trigger) {
112
+ function encode(message, writer = _m0.Writer.create()) {
113
+ if (message.entity !== 0) {
114
+ writer.uint32(8).uint32(message.entity);
115
+ }
116
+ if (message.layers !== 0) {
117
+ writer.uint32(16).uint32(message.layers);
118
+ }
119
+ if (message.position !== undefined) {
120
+ Vector3.encode(message.position, writer.uint32(26).fork()).ldelim();
121
+ }
122
+ if (message.rotation !== undefined) {
123
+ Quaternion.encode(message.rotation, writer.uint32(34).fork()).ldelim();
124
+ }
125
+ if (message.scale !== undefined) {
126
+ Vector3.encode(message.scale, writer.uint32(42).fork()).ldelim();
127
+ }
128
+ return writer;
129
+ }
130
+ PBTriggerAreaResult_Trigger.encode = encode;
131
+ function decode(input, length) {
132
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
133
+ let end = length === undefined ? reader.len : reader.pos + length;
134
+ const message = createBasePBTriggerAreaResult_Trigger();
135
+ while (reader.pos < end) {
136
+ const tag = reader.uint32();
137
+ switch (tag >>> 3) {
138
+ case 1:
139
+ if (tag !== 8) {
140
+ break;
141
+ }
142
+ message.entity = reader.uint32();
143
+ continue;
144
+ case 2:
145
+ if (tag !== 16) {
146
+ break;
147
+ }
148
+ message.layers = reader.uint32();
149
+ continue;
150
+ case 3:
151
+ if (tag !== 26) {
152
+ break;
153
+ }
154
+ message.position = Vector3.decode(reader, reader.uint32());
155
+ continue;
156
+ case 4:
157
+ if (tag !== 34) {
158
+ break;
159
+ }
160
+ message.rotation = Quaternion.decode(reader, reader.uint32());
161
+ continue;
162
+ case 5:
163
+ if (tag !== 42) {
164
+ break;
165
+ }
166
+ message.scale = Vector3.decode(reader, reader.uint32());
167
+ continue;
168
+ }
169
+ if ((tag & 7) === 4 || tag === 0) {
170
+ break;
171
+ }
172
+ reader.skipType(tag & 7);
173
+ }
174
+ return message;
175
+ }
176
+ PBTriggerAreaResult_Trigger.decode = decode;
177
+ })(PBTriggerAreaResult_Trigger || (PBTriggerAreaResult_Trigger = {}));
@@ -17,6 +17,8 @@ import { MediaState } from './generated/pb/decentraland/sdk/components/common/me
17
17
  import { VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
18
18
  import { InputModifierComponentDefinitionExtended } from './extended/InputModifier';
19
19
  import { LightSourceComponentDefinitionExtended } from './extended/LightSource';
20
+ import { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
21
+ import { TagsComponentDefinitionExtended } from './manual/Tags';
20
22
  export * from './generated/index.gen';
21
23
  export type { GrowOnlyValueSetComponentDefinition, LastWriteWinElementSetComponentDefinition, LwwComponentGetter, GSetComponentGetter };
22
24
  export declare const Transform: LwwComponentGetter<TransformComponentExtended>;
@@ -30,10 +32,12 @@ export declare const Tween: LwwComponentGetter<TweenComponentDefinitionExtended>
30
32
  export declare const VirtualCamera: LwwComponentGetter<VirtualCameraComponentDefinitionExtended>;
31
33
  export declare const InputModifier: LwwComponentGetter<InputModifierComponentDefinitionExtended>;
32
34
  export declare const LightSource: LwwComponentGetter<LightSourceComponentDefinitionExtended>;
35
+ export declare const TriggerArea: LwwComponentGetter<TriggerAreaComponentDefinitionExtended>;
33
36
  /**
34
37
  * @alpha
35
38
  */
36
39
  export declare const Name: (engine: Pick<IEngine, 'defineComponent'>) => LastWriteWinElementSetComponentDefinition<NameType>;
40
+ export declare const Tags: (engine: Pick<IEngine, 'defineComponent'>) => TagsComponentDefinitionExtended;
37
41
  /**
38
42
  * @alpha
39
43
  */
@@ -14,6 +14,8 @@ import { MediaState } from './generated/pb/decentraland/sdk/components/common/me
14
14
  import { defineVirtualCameraComponent } from './extended/VirtualCamera';
15
15
  import { defineInputModifierComponent } from './extended/InputModifier';
16
16
  import { defineLightSourceComponent } from './extended/LightSource';
17
+ import { defineTriggerAreaComponent } from './extended/TriggerArea';
18
+ import defineTagsComponent from './manual/Tags';
17
19
  export * from './generated/index.gen';
18
20
  /* @__PURE__ */
19
21
  export const Transform = (engine) => defineTransformComponent(engine);
@@ -37,11 +39,15 @@ export const VirtualCamera = (engine) => defineVirtualCameraComponent(engine);
37
39
  export const InputModifier = (engine) => defineInputModifierComponent(engine);
38
40
  /* @__PURE__ */
39
41
  export const LightSource = (engine) => defineLightSourceComponent(engine);
42
+ /* @__PURE__ */
43
+ export const TriggerArea = (engine) => defineTriggerAreaComponent(engine);
40
44
  /**
41
45
  * @alpha
42
46
  */
43
47
  /* @__PURE__ */
44
48
  export const Name = (engine) => defineNameComponent(engine);
49
+ /* @__PURE__ */
50
+ export const Tags = (engine) => defineTagsComponent(engine);
45
51
  /**
46
52
  * @alpha
47
53
  */