@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.
- package/dist/components/extended/TriggerArea.d.ts +22 -0
- package/dist/components/extended/TriggerArea.js +27 -0
- package/dist/components/generated/TriggerArea.gen.d.ts +1 -0
- package/dist/components/generated/TriggerArea.gen.js +25 -0
- package/dist/components/generated/TriggerAreaResult.gen.d.ts +1 -0
- package/dist/components/generated/TriggerAreaResult.gen.js +25 -0
- package/dist/components/generated/component-names.gen.js +2 -0
- package/dist/components/generated/global.gen.d.ts +4 -0
- package/dist/components/generated/global.gen.js +2 -0
- package/dist/components/generated/index.gen.d.ts +8 -0
- package/dist/components/generated/index.gen.js +12 -0
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +2 -1
- package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +2 -1
- package/dist/components/generated/pb/decentraland/sdk/components/trigger_area.gen.d.ts +32 -0
- package/dist/components/generated/pb/decentraland/sdk/components/trigger_area.gen.js +58 -0
- package/dist/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.d.ts +60 -0
- package/dist/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.js +177 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +6 -0
- package/dist/components/manual/Tags.d.ts +34 -0
- package/dist/components/manual/Tags.js +37 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/engine/index.js +10 -0
- package/dist/engine/types.d.ts +7 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +3 -0
- package/dist/runtime/initialization/index.d.ts +7 -0
- package/dist/runtime/initialization/index.js +6 -0
- package/dist/systems/triggerArea.d.ts +50 -0
- package/dist/systems/triggerArea.js +113 -0
- package/dist-cjs/components/extended/TriggerArea.d.ts +22 -0
- package/dist-cjs/components/extended/TriggerArea.js +31 -0
- package/dist-cjs/components/generated/TriggerArea.gen.d.ts +1 -0
- package/dist-cjs/components/generated/TriggerArea.gen.js +28 -0
- package/dist-cjs/components/generated/TriggerAreaResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/TriggerAreaResult.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.js +2 -0
- package/dist-cjs/components/generated/global.gen.d.ts +4 -0
- package/dist-cjs/components/generated/global.gen.js +3 -1
- package/dist-cjs/components/generated/index.gen.d.ts +8 -0
- package/dist-cjs/components/generated/index.gen.js +16 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +2 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +2 -1
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area.gen.js +64 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.d.ts +60 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.js +183 -0
- package/dist-cjs/components/index.d.ts +4 -0
- package/dist-cjs/components/index.js +9 -1
- package/dist-cjs/components/manual/Tags.d.ts +34 -0
- package/dist-cjs/components/manual/Tags.js +39 -0
- package/dist-cjs/components/types.d.ts +2 -0
- package/dist-cjs/engine/index.js +10 -0
- package/dist-cjs/engine/types.d.ts +7 -0
- package/dist-cjs/index.d.ts +5 -1
- package/dist-cjs/index.js +4 -1
- package/dist-cjs/runtime/initialization/index.d.ts +7 -0
- package/dist-cjs/runtime/initialization/index.js +7 -1
- package/dist-cjs/systems/triggerArea.d.ts +50 -0
- package/dist-cjs/systems/triggerArea.js +140 -0
- package/package.json +2 -2
|
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.VirtualCamera = exports.VideoPlayer = exports.VideoEvent = exports.UiTransform = exports.UiText = exports.UiInputResult = exports.UiInput = exports.UiDropdownResult = exports.UiDropdown = exports.UiCanvasInformation = exports.UiBackground = exports.TweenState = exports.TweenSequence = exports.Tween = exports.TriggerAreaResult = exports.TriggerArea = exports.TextShape = exports.SkyboxTime = exports.RealmInfo = exports.RaycastResult = exports.Raycast = exports.PrimaryPointerInfo = exports.PointerLock = exports.PointerEventsResult = exports.PointerEvents = exports.PlayerIdentityData = exports.NftShape = exports.MeshRenderer = exports.MeshCollider = exports.Material = exports.MainCamera = exports.LightSource = exports.InputModifier = exports.GltfNodeModifiers = exports.GltfContainerLoadingState = exports.GltfContainer = exports.EngineInfo = exports.CameraModeArea = exports.CameraMode = exports.Billboard = exports.AvatarShape = exports.AvatarModifierArea = exports.AvatarEquippedData = exports.AvatarEmoteCommand = exports.AvatarBase = exports.AvatarAttach = exports.AudioStream = exports.AudioSource = exports.AudioEvent = exports.Animator = void 0;
|
|
18
|
+
exports.componentDefinitionByName = exports.VisibilityComponent = void 0;
|
|
18
19
|
const Animator_gen_1 = require("./Animator.gen");
|
|
19
20
|
const AudioEvent_gen_1 = require("./AudioEvent.gen");
|
|
20
21
|
const AudioSource_gen_1 = require("./AudioSource.gen");
|
|
@@ -49,6 +50,8 @@ const RaycastResult_gen_1 = require("./RaycastResult.gen");
|
|
|
49
50
|
const RealmInfo_gen_1 = require("./RealmInfo.gen");
|
|
50
51
|
const SkyboxTime_gen_1 = require("./SkyboxTime.gen");
|
|
51
52
|
const TextShape_gen_1 = require("./TextShape.gen");
|
|
53
|
+
const TriggerArea_gen_1 = require("./TriggerArea.gen");
|
|
54
|
+
const TriggerAreaResult_gen_1 = require("./TriggerAreaResult.gen");
|
|
52
55
|
const Tween_gen_1 = require("./Tween.gen");
|
|
53
56
|
const TweenSequence_gen_1 = require("./TweenSequence.gen");
|
|
54
57
|
const TweenState_gen_1 = require("./TweenState.gen");
|
|
@@ -98,6 +101,8 @@ __exportStar(require("./pb/decentraland/sdk/components/raycast_result.gen"), exp
|
|
|
98
101
|
__exportStar(require("./pb/decentraland/sdk/components/realm_info.gen"), exports);
|
|
99
102
|
__exportStar(require("./pb/decentraland/sdk/components/skybox_time.gen"), exports);
|
|
100
103
|
__exportStar(require("./pb/decentraland/sdk/components/text_shape.gen"), exports);
|
|
104
|
+
__exportStar(require("./pb/decentraland/sdk/components/trigger_area.gen"), exports);
|
|
105
|
+
__exportStar(require("./pb/decentraland/sdk/components/trigger_area_result.gen"), exports);
|
|
101
106
|
__exportStar(require("./pb/decentraland/sdk/components/tween.gen"), exports);
|
|
102
107
|
__exportStar(require("./pb/decentraland/sdk/components/tween_sequence.gen"), exports);
|
|
103
108
|
__exportStar(require("./pb/decentraland/sdk/components/tween_state.gen"), exports);
|
|
@@ -221,6 +226,14 @@ exports.SkyboxTime = SkyboxTime;
|
|
|
221
226
|
/** @public */ const TextShape = engine =>
|
|
222
227
|
/* @__PURE__ */ engine.defineComponentFromSchema("core::TextShape", TextShape_gen_1.TextShapeSchema);
|
|
223
228
|
exports.TextShape = TextShape;
|
|
229
|
+
/** @public */ const TriggerArea = engine =>
|
|
230
|
+
/* @__PURE__ */ engine.defineComponentFromSchema("core::TriggerArea", TriggerArea_gen_1.TriggerAreaSchema);
|
|
231
|
+
exports.TriggerArea = TriggerArea;
|
|
232
|
+
/** @public */ const TriggerAreaResult = (engine) => /* @__PURE__ */ engine.defineValueSetComponentFromSchema("core::TriggerAreaResult", TriggerAreaResult_gen_1.TriggerAreaResultSchema, {
|
|
233
|
+
timestampFunction: (t) => t.timestamp,
|
|
234
|
+
maxElements: 100
|
|
235
|
+
});
|
|
236
|
+
exports.TriggerAreaResult = TriggerAreaResult;
|
|
224
237
|
/** @public */ const Tween = engine =>
|
|
225
238
|
/* @__PURE__ */ engine.defineComponentFromSchema("core::Tween", Tween_gen_1.TweenSchema);
|
|
226
239
|
exports.Tween = Tween;
|
|
@@ -304,6 +317,8 @@ exports.componentDefinitionByName = {
|
|
|
304
317
|
"core::RealmInfo": exports.RealmInfo,
|
|
305
318
|
"core::SkyboxTime": exports.SkyboxTime,
|
|
306
319
|
"core::TextShape": exports.TextShape,
|
|
320
|
+
"core::TriggerArea": exports.TriggerArea,
|
|
321
|
+
"core::TriggerAreaResult": exports.TriggerAreaResult,
|
|
307
322
|
"core::Tween": exports.Tween,
|
|
308
323
|
"core::TweenSequence": exports.TweenSequence,
|
|
309
324
|
"core::TweenState": exports.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
|
-
|
|
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,
|
|
@@ -19,7 +19,8 @@ var ColliderLayer;
|
|
|
19
19
|
ColliderLayer[ColliderLayer["CL_POINTER"] = 1] = "CL_POINTER";
|
|
20
20
|
/** CL_PHYSICS - collision affecting your player's physics i.e. walls, floor, moving platfroms */
|
|
21
21
|
ColliderLayer[ColliderLayer["CL_PHYSICS"] = 2] = "CL_PHYSICS";
|
|
22
|
-
|
|
22
|
+
/** CL_PLAYER - layer corresponding to any player avatar */
|
|
23
|
+
ColliderLayer[ColliderLayer["CL_PLAYER"] = 4] = "CL_PLAYER";
|
|
23
24
|
ColliderLayer[ColliderLayer["CL_RESERVED2"] = 8] = "CL_RESERVED2";
|
|
24
25
|
ColliderLayer[ColliderLayer["CL_RESERVED3"] = 16] = "CL_RESERVED3";
|
|
25
26
|
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,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PBTriggerArea = exports.TriggerAreaMeshType = void 0;
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
9
|
+
const protobufPackageSarasa = "decentraland.sdk.components";
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
var TriggerAreaMeshType;
|
|
14
|
+
(function (TriggerAreaMeshType) {
|
|
15
|
+
TriggerAreaMeshType[TriggerAreaMeshType["TAMT_BOX"] = 0] = "TAMT_BOX";
|
|
16
|
+
TriggerAreaMeshType[TriggerAreaMeshType["TAMT_SPHERE"] = 1] = "TAMT_SPHERE";
|
|
17
|
+
})(TriggerAreaMeshType = exports.TriggerAreaMeshType || (exports.TriggerAreaMeshType = {}));
|
|
18
|
+
function createBasePBTriggerArea() {
|
|
19
|
+
return { mesh: undefined, collisionMask: undefined };
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
var PBTriggerArea;
|
|
25
|
+
(function (PBTriggerArea) {
|
|
26
|
+
function encode(message, writer = minimal_1.default.Writer.create()) {
|
|
27
|
+
if (message.mesh !== undefined) {
|
|
28
|
+
writer.uint32(8).int32(message.mesh);
|
|
29
|
+
}
|
|
30
|
+
if (message.collisionMask !== undefined) {
|
|
31
|
+
writer.uint32(16).uint32(message.collisionMask);
|
|
32
|
+
}
|
|
33
|
+
return writer;
|
|
34
|
+
}
|
|
35
|
+
PBTriggerArea.encode = encode;
|
|
36
|
+
function decode(input, length) {
|
|
37
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
38
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
39
|
+
const message = createBasePBTriggerArea();
|
|
40
|
+
while (reader.pos < end) {
|
|
41
|
+
const tag = reader.uint32();
|
|
42
|
+
switch (tag >>> 3) {
|
|
43
|
+
case 1:
|
|
44
|
+
if (tag !== 8) {
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
message.mesh = reader.int32();
|
|
48
|
+
continue;
|
|
49
|
+
case 2:
|
|
50
|
+
if (tag !== 16) {
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
message.collisionMask = reader.uint32();
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
reader.skipType(tag & 7);
|
|
60
|
+
}
|
|
61
|
+
return message;
|
|
62
|
+
}
|
|
63
|
+
PBTriggerArea.decode = decode;
|
|
64
|
+
})(PBTriggerArea = exports.PBTriggerArea || (exports.PBTriggerArea = {}));
|
package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.d.ts
ADDED
|
@@ -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
|
+
}
|
package/dist-cjs/components/generated/pb/decentraland/sdk/components/trigger_area_result.gen.js
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PBTriggerAreaResult_Trigger = exports.PBTriggerAreaResult = exports.TriggerAreaEventType = void 0;
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
9
|
+
const vectors_gen_1 = require("../../common/vectors.gen");
|
|
10
|
+
const protobufPackageSarasa = "decentraland.sdk.components";
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
var TriggerAreaEventType;
|
|
15
|
+
(function (TriggerAreaEventType) {
|
|
16
|
+
TriggerAreaEventType[TriggerAreaEventType["TAET_ENTER"] = 0] = "TAET_ENTER";
|
|
17
|
+
TriggerAreaEventType[TriggerAreaEventType["TAET_STAY"] = 1] = "TAET_STAY";
|
|
18
|
+
TriggerAreaEventType[TriggerAreaEventType["TAET_EXIT"] = 2] = "TAET_EXIT";
|
|
19
|
+
})(TriggerAreaEventType = exports.TriggerAreaEventType || (exports.TriggerAreaEventType = {}));
|
|
20
|
+
function createBasePBTriggerAreaResult() {
|
|
21
|
+
return {
|
|
22
|
+
triggeredEntity: 0,
|
|
23
|
+
triggeredEntityPosition: undefined,
|
|
24
|
+
triggeredEntityRotation: undefined,
|
|
25
|
+
eventType: 0,
|
|
26
|
+
timestamp: 0,
|
|
27
|
+
trigger: undefined,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
var PBTriggerAreaResult;
|
|
34
|
+
(function (PBTriggerAreaResult) {
|
|
35
|
+
function encode(message, writer = minimal_1.default.Writer.create()) {
|
|
36
|
+
if (message.triggeredEntity !== 0) {
|
|
37
|
+
writer.uint32(8).uint32(message.triggeredEntity);
|
|
38
|
+
}
|
|
39
|
+
if (message.triggeredEntityPosition !== undefined) {
|
|
40
|
+
vectors_gen_1.Vector3.encode(message.triggeredEntityPosition, writer.uint32(18).fork()).ldelim();
|
|
41
|
+
}
|
|
42
|
+
if (message.triggeredEntityRotation !== undefined) {
|
|
43
|
+
vectors_gen_1.Quaternion.encode(message.triggeredEntityRotation, writer.uint32(26).fork()).ldelim();
|
|
44
|
+
}
|
|
45
|
+
if (message.eventType !== 0) {
|
|
46
|
+
writer.uint32(32).int32(message.eventType);
|
|
47
|
+
}
|
|
48
|
+
if (message.timestamp !== 0) {
|
|
49
|
+
writer.uint32(40).uint32(message.timestamp);
|
|
50
|
+
}
|
|
51
|
+
if (message.trigger !== undefined) {
|
|
52
|
+
PBTriggerAreaResult_Trigger.encode(message.trigger, writer.uint32(50).fork()).ldelim();
|
|
53
|
+
}
|
|
54
|
+
return writer;
|
|
55
|
+
}
|
|
56
|
+
PBTriggerAreaResult.encode = encode;
|
|
57
|
+
function decode(input, length) {
|
|
58
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
59
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
60
|
+
const message = createBasePBTriggerAreaResult();
|
|
61
|
+
while (reader.pos < end) {
|
|
62
|
+
const tag = reader.uint32();
|
|
63
|
+
switch (tag >>> 3) {
|
|
64
|
+
case 1:
|
|
65
|
+
if (tag !== 8) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
message.triggeredEntity = reader.uint32();
|
|
69
|
+
continue;
|
|
70
|
+
case 2:
|
|
71
|
+
if (tag !== 18) {
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
message.triggeredEntityPosition = vectors_gen_1.Vector3.decode(reader, reader.uint32());
|
|
75
|
+
continue;
|
|
76
|
+
case 3:
|
|
77
|
+
if (tag !== 26) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
message.triggeredEntityRotation = vectors_gen_1.Quaternion.decode(reader, reader.uint32());
|
|
81
|
+
continue;
|
|
82
|
+
case 4:
|
|
83
|
+
if (tag !== 32) {
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
message.eventType = reader.int32();
|
|
87
|
+
continue;
|
|
88
|
+
case 5:
|
|
89
|
+
if (tag !== 40) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
message.timestamp = reader.uint32();
|
|
93
|
+
continue;
|
|
94
|
+
case 6:
|
|
95
|
+
if (tag !== 50) {
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
message.trigger = PBTriggerAreaResult_Trigger.decode(reader, reader.uint32());
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
reader.skipType(tag & 7);
|
|
105
|
+
}
|
|
106
|
+
return message;
|
|
107
|
+
}
|
|
108
|
+
PBTriggerAreaResult.decode = decode;
|
|
109
|
+
})(PBTriggerAreaResult = exports.PBTriggerAreaResult || (exports.PBTriggerAreaResult = {}));
|
|
110
|
+
function createBasePBTriggerAreaResult_Trigger() {
|
|
111
|
+
return { entity: 0, layers: 0, position: undefined, rotation: undefined, scale: undefined };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
var PBTriggerAreaResult_Trigger;
|
|
117
|
+
(function (PBTriggerAreaResult_Trigger) {
|
|
118
|
+
function encode(message, writer = minimal_1.default.Writer.create()) {
|
|
119
|
+
if (message.entity !== 0) {
|
|
120
|
+
writer.uint32(8).uint32(message.entity);
|
|
121
|
+
}
|
|
122
|
+
if (message.layers !== 0) {
|
|
123
|
+
writer.uint32(16).uint32(message.layers);
|
|
124
|
+
}
|
|
125
|
+
if (message.position !== undefined) {
|
|
126
|
+
vectors_gen_1.Vector3.encode(message.position, writer.uint32(26).fork()).ldelim();
|
|
127
|
+
}
|
|
128
|
+
if (message.rotation !== undefined) {
|
|
129
|
+
vectors_gen_1.Quaternion.encode(message.rotation, writer.uint32(34).fork()).ldelim();
|
|
130
|
+
}
|
|
131
|
+
if (message.scale !== undefined) {
|
|
132
|
+
vectors_gen_1.Vector3.encode(message.scale, writer.uint32(42).fork()).ldelim();
|
|
133
|
+
}
|
|
134
|
+
return writer;
|
|
135
|
+
}
|
|
136
|
+
PBTriggerAreaResult_Trigger.encode = encode;
|
|
137
|
+
function decode(input, length) {
|
|
138
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
139
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
140
|
+
const message = createBasePBTriggerAreaResult_Trigger();
|
|
141
|
+
while (reader.pos < end) {
|
|
142
|
+
const tag = reader.uint32();
|
|
143
|
+
switch (tag >>> 3) {
|
|
144
|
+
case 1:
|
|
145
|
+
if (tag !== 8) {
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
message.entity = reader.uint32();
|
|
149
|
+
continue;
|
|
150
|
+
case 2:
|
|
151
|
+
if (tag !== 16) {
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
message.layers = reader.uint32();
|
|
155
|
+
continue;
|
|
156
|
+
case 3:
|
|
157
|
+
if (tag !== 26) {
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
message.position = vectors_gen_1.Vector3.decode(reader, reader.uint32());
|
|
161
|
+
continue;
|
|
162
|
+
case 4:
|
|
163
|
+
if (tag !== 34) {
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
message.rotation = vectors_gen_1.Quaternion.decode(reader, reader.uint32());
|
|
167
|
+
continue;
|
|
168
|
+
case 5:
|
|
169
|
+
if (tag !== 42) {
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
message.scale = vectors_gen_1.Vector3.decode(reader, reader.uint32());
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
reader.skipType(tag & 7);
|
|
179
|
+
}
|
|
180
|
+
return message;
|
|
181
|
+
}
|
|
182
|
+
PBTriggerAreaResult_Trigger.decode = decode;
|
|
183
|
+
})(PBTriggerAreaResult_Trigger = exports.PBTriggerAreaResult_Trigger || (exports.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
|
*/
|
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.MediaState = exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.Name = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.MeshCollider = exports.MeshRenderer = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Material = exports.Transform = void 0;
|
|
20
|
+
exports.MediaState = exports.NetworkParent = exports.NetworkEntity = exports.SyncComponents = exports.Tags = exports.Name = exports.TriggerArea = exports.LightSource = exports.InputModifier = exports.VirtualCamera = exports.Tween = exports.MeshCollider = exports.MeshRenderer = exports.AudioStream = exports.AudioSource = exports.Animator = exports.Material = exports.Transform = void 0;
|
|
21
21
|
const Animator_1 = require("./extended/Animator");
|
|
22
22
|
const AudioSource_1 = require("./extended/AudioSource");
|
|
23
23
|
const Material_1 = require("./extended/Material");
|
|
@@ -35,6 +35,8 @@ Object.defineProperty(exports, "MediaState", { enumerable: true, get: function (
|
|
|
35
35
|
const VirtualCamera_1 = require("./extended/VirtualCamera");
|
|
36
36
|
const InputModifier_1 = require("./extended/InputModifier");
|
|
37
37
|
const LightSource_1 = require("./extended/LightSource");
|
|
38
|
+
const TriggerArea_1 = require("./extended/TriggerArea");
|
|
39
|
+
const Tags_1 = __importDefault(require("./manual/Tags"));
|
|
38
40
|
__exportStar(require("./generated/index.gen"), exports);
|
|
39
41
|
/* @__PURE__ */
|
|
40
42
|
const Transform = (engine) => (0, Transform_1.defineTransformComponent)(engine);
|
|
@@ -69,12 +71,18 @@ exports.InputModifier = InputModifier;
|
|
|
69
71
|
/* @__PURE__ */
|
|
70
72
|
const LightSource = (engine) => (0, LightSource_1.defineLightSourceComponent)(engine);
|
|
71
73
|
exports.LightSource = LightSource;
|
|
74
|
+
/* @__PURE__ */
|
|
75
|
+
const TriggerArea = (engine) => (0, TriggerArea_1.defineTriggerAreaComponent)(engine);
|
|
76
|
+
exports.TriggerArea = TriggerArea;
|
|
72
77
|
/**
|
|
73
78
|
* @alpha
|
|
74
79
|
*/
|
|
75
80
|
/* @__PURE__ */
|
|
76
81
|
const Name = (engine) => (0, Name_1.default)(engine);
|
|
77
82
|
exports.Name = Name;
|
|
83
|
+
/* @__PURE__ */
|
|
84
|
+
const Tags = (engine) => (0, Tags_1.default)(engine);
|
|
85
|
+
exports.Tags = Tags;
|
|
78
86
|
/**
|
|
79
87
|
* @alpha
|
|
80
88
|
*/
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine/types';
|
|
2
|
+
import { Entity } from '../../engine';
|
|
3
|
+
export interface TagsType {
|
|
4
|
+
tags: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface TagsComponentDefinitionExtended extends LastWriteWinElementSetComponentDefinition<TagsType> {
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*
|
|
10
|
+
* Add a tag to the entity's Tags component or create the component if it doesn't exist and add the tag
|
|
11
|
+
* @param entity - entity to add the tag to
|
|
12
|
+
* @param tagName - the tag name to add
|
|
13
|
+
* @returns true
|
|
14
|
+
*/
|
|
15
|
+
add(entity: Entity, tagName: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*
|
|
19
|
+
* Remove a tag from the entity's Tags component
|
|
20
|
+
* @param entity - entity to remove the tag from
|
|
21
|
+
* @param tagName - the tag name to remove
|
|
22
|
+
* @returns true if successful, false if the entity doesn't have a Tags component or the tag doesn't exist
|
|
23
|
+
*/
|
|
24
|
+
remove(entity: Entity, tagName: string): boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
*
|
|
29
|
+
* Define the Tags component
|
|
30
|
+
* @param engine - the engine to define the component on
|
|
31
|
+
* @returns the Tags component definition
|
|
32
|
+
*/
|
|
33
|
+
declare function defineTagsComponent(engine: Pick<IEngine, 'defineComponent'>): TagsComponentDefinitionExtended;
|
|
34
|
+
export default defineTagsComponent;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const schemas_1 = require("../../schemas");
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*
|
|
7
|
+
* Define the Tags component
|
|
8
|
+
* @param engine - the engine to define the component on
|
|
9
|
+
* @returns the Tags component definition
|
|
10
|
+
*/
|
|
11
|
+
function defineTagsComponent(engine) {
|
|
12
|
+
const Tags = engine.defineComponent('core-schema::Tags', {
|
|
13
|
+
tags: schemas_1.Schemas.Array(schemas_1.Schemas.String)
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
...Tags,
|
|
17
|
+
add(entity, tagName) {
|
|
18
|
+
const tagsComponent = Tags.getMutableOrNull(entity);
|
|
19
|
+
if (tagsComponent) {
|
|
20
|
+
tagsComponent.tags.push(tagName);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
Tags.createOrReplace(entity, { tags: [tagName] });
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
},
|
|
27
|
+
remove(entity, tagName) {
|
|
28
|
+
const tagsComponent = Tags.getMutableOrNull(entity);
|
|
29
|
+
if (!tagsComponent || !tagsComponent.tags)
|
|
30
|
+
return false;
|
|
31
|
+
const newTags = tagsComponent.tags.filter((tag) => tag !== tagName);
|
|
32
|
+
if (newTags.length === tagsComponent.tags.length)
|
|
33
|
+
return false;
|
|
34
|
+
tagsComponent.tags = newTags;
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.default = defineTagsComponent;
|
|
@@ -8,8 +8,10 @@ export type { TweenHelper, TweenComponentDefinitionExtended } from './extended/T
|
|
|
8
8
|
export type { CameraTransitionHelper, VirtualCameraComponentDefinitionExtended } from './extended/VirtualCamera';
|
|
9
9
|
export type { TransformComponentExtended, TransformTypeWithOptionals } from './manual/Transform';
|
|
10
10
|
export type { NameComponent, NameType } from './manual/Name';
|
|
11
|
+
export type { TagsComponentDefinitionExtended, TagsType } from './manual/Tags';
|
|
11
12
|
export type { ISyncComponents, ISyncComponentsType } from './manual/SyncComponents';
|
|
12
13
|
export type { INetowrkEntity, INetowrkEntityType } from './manual/NetworkEntity';
|
|
13
14
|
export type { INetowrkParent, INetowrkParentType } from './manual/NetworkParent';
|
|
14
15
|
export type { InputModifierHelper, InputModifierComponentDefinitionExtended } from './extended/InputModifier';
|
|
15
16
|
export type { LightSourceHelper, LightSourceComponentDefinitionExtended } from './extended/LightSource';
|
|
17
|
+
export type { TriggerAreaComponentDefinitionExtended } from './extended/TriggerArea';
|
package/dist-cjs/engine/index.js
CHANGED
|
@@ -172,6 +172,14 @@ function preEngine(options) {
|
|
|
172
172
|
const entity = getEntityOrNullByName(value);
|
|
173
173
|
return entity;
|
|
174
174
|
}
|
|
175
|
+
function* getEntitiesByTag(tagName) {
|
|
176
|
+
const TagComponent = components.Tags({ defineComponent });
|
|
177
|
+
for (const [entity, component] of getEntitiesWith(TagComponent)) {
|
|
178
|
+
if (entity !== 0 && component.tags?.some((tag) => tag === tagName)) {
|
|
179
|
+
yield entity;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
175
183
|
function* getComponentDefGroup(...args) {
|
|
176
184
|
const [firstComponentDef, ...componentDefinitions] = args;
|
|
177
185
|
for (const [entity] of firstComponentDef.iterator()) {
|
|
@@ -220,6 +228,7 @@ function preEngine(options) {
|
|
|
220
228
|
getComponentOrNull: getComponentOrNull,
|
|
221
229
|
getEntityOrNullByName,
|
|
222
230
|
getEntityByName,
|
|
231
|
+
getEntitiesByTag,
|
|
223
232
|
removeComponentDefinition,
|
|
224
233
|
registerComponentDefinition,
|
|
225
234
|
entityContainer,
|
|
@@ -275,6 +284,7 @@ function Engine(options) {
|
|
|
275
284
|
seal: partialEngine.seal,
|
|
276
285
|
getEntityOrNullByName: partialEngine.getEntityOrNullByName,
|
|
277
286
|
getEntityByName: partialEngine.getEntityByName,
|
|
287
|
+
getEntitiesByTag: partialEngine.getEntitiesByTag,
|
|
278
288
|
update,
|
|
279
289
|
RootEntity: 0,
|
|
280
290
|
PlayerEntity: 1,
|
|
@@ -196,6 +196,13 @@ export interface IEngine {
|
|
|
196
196
|
* @typeParam T - The type of the entity name value
|
|
197
197
|
*/
|
|
198
198
|
getEntityByName<T = never, K = T>(value: K & (T extends never ? never : string)): Entity;
|
|
199
|
+
/**
|
|
200
|
+
* @public
|
|
201
|
+
* Get all entities that have a specific tag in their Tag component
|
|
202
|
+
* @param tag - Tag to search
|
|
203
|
+
* @returns Iterator of entities that have the given tag
|
|
204
|
+
*/
|
|
205
|
+
getEntitiesByTag(tagName: string): Iterable<Entity>;
|
|
199
206
|
/**
|
|
200
207
|
* @public
|
|
201
208
|
* @param deltaTime - deltaTime in seconds
|
package/dist-cjs/index.d.ts
CHANGED
|
@@ -9,10 +9,12 @@ export * from './systems/raycast';
|
|
|
9
9
|
export * from './systems/videoEvents';
|
|
10
10
|
export * from './systems/async-task';
|
|
11
11
|
export * from './systems/tween';
|
|
12
|
+
export * from './systems/triggerArea';
|
|
12
13
|
export * from './engine/entity';
|
|
13
14
|
export * from './components/types';
|
|
14
|
-
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended } from './components/types';
|
|
15
|
+
import { MaterialComponentDefinitionExtended, MeshColliderComponentDefinitionExtended, MeshRendererComponentDefinitionExtended, TransformComponentExtended, AnimatorComponentDefinitionExtended, AudioSourceComponentDefinitionExtended, AudioStreamComponentDefinitionExtended, ISyncComponents, TweenComponentDefinitionExtended, INetowrkEntity, INetowrkParent, VirtualCameraComponentDefinitionExtended, InputModifierComponentDefinitionExtended, LightSourceComponentDefinitionExtended, TriggerAreaComponentDefinitionExtended } from './components/types';
|
|
15
16
|
import { NameComponent } from './components/manual/Name';
|
|
17
|
+
import { TagsComponentDefinitionExtended } from './components/manual/Tags';
|
|
16
18
|
export declare const Transform: TransformComponentExtended;
|
|
17
19
|
export declare const Animator: AnimatorComponentDefinitionExtended;
|
|
18
20
|
export declare const AudioSource: AudioSourceComponentDefinitionExtended;
|
|
@@ -21,10 +23,12 @@ export declare const Material: MaterialComponentDefinitionExtended;
|
|
|
21
23
|
export declare const MeshRenderer: MeshRendererComponentDefinitionExtended;
|
|
22
24
|
export declare const MeshCollider: MeshColliderComponentDefinitionExtended;
|
|
23
25
|
export declare const Name: NameComponent;
|
|
26
|
+
export declare const Tags: TagsComponentDefinitionExtended;
|
|
24
27
|
export declare const Tween: TweenComponentDefinitionExtended;
|
|
25
28
|
export declare const VirtualCamera: VirtualCameraComponentDefinitionExtended;
|
|
26
29
|
export declare const InputModifier: InputModifierComponentDefinitionExtended;
|
|
27
30
|
export declare const LightSource: LightSourceComponentDefinitionExtended;
|
|
31
|
+
export declare const TriggerArea: TriggerAreaComponentDefinitionExtended;
|
|
28
32
|
/**
|
|
29
33
|
* @alpha
|
|
30
34
|
* This is going to be used for sync components through a server.
|