@dcl/sdk 7.1.2-4419392799.commit-7961b54 → 7.1.2-4426178080.commit-9504360
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/composite-provider.d.ts +2 -0
- package/composite-provider.js +34 -0
- package/index.js +3 -3
- package/package.json +6 -6
- package/src/composite-provider.ts +46 -0
- package/src/index.ts +2 -2
- package/src/with-composite.ts +19 -0
- package/with-composite.d.ts +2 -0
- package/with-composite.js +13 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
import { compositeFromJson } from '@dcl/ecs';
|
2
|
+
import { getSceneInfo } from '~system/Scene';
|
3
|
+
export async function createContentFetchCompositeProvider() {
|
4
|
+
const scene = await getSceneInfo({});
|
5
|
+
const compositesContent = scene.contents.filter((item) => {
|
6
|
+
const path = item.file.toLowerCase();
|
7
|
+
return path.endsWith('.composite') || path.endsWith('.composite.json');
|
8
|
+
});
|
9
|
+
const compositePromises = compositesContent.map(async (item) => {
|
10
|
+
const compositeUrl = `${scene.baseUrl}${item.hash}`;
|
11
|
+
try {
|
12
|
+
const response = await fetch(compositeUrl);
|
13
|
+
if (item.file.endsWith('.json')) {
|
14
|
+
const compositeJson = await response.json();
|
15
|
+
const composite = compositeFromJson(compositeJson);
|
16
|
+
return composite;
|
17
|
+
}
|
18
|
+
else {
|
19
|
+
return null;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
catch (err) {
|
23
|
+
console.error(`Error loading composite ${compositeUrl}: ${err.toString()}`);
|
24
|
+
return null;
|
25
|
+
}
|
26
|
+
});
|
27
|
+
const composites = (await Promise.all(compositePromises)).filter((item) => !!item);
|
28
|
+
return {
|
29
|
+
getCompositeOrNull(id) {
|
30
|
+
return composites.find((item) => item.id === id) || null;
|
31
|
+
}
|
32
|
+
};
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbXBvc2l0ZS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsaUJBQWlCLEVBQXFCLE1BQU0sVUFBVSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFPNUMsTUFBTSxDQUFDLEtBQUssVUFBVSxtQ0FBbUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM3RCxNQUFNLFlBQVksR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ25ELElBQUk7WUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMvQixNQUFNLGFBQWEsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUE7Z0JBQ2xELE9BQU8sU0FBUyxDQUFBO2FBQ2pCO2lCQUFNO2dCQU9MLE9BQU8sSUFBSSxDQUFBO2FBQ1o7U0FDRjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsWUFBWSxLQUFNLEdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDcEYsT0FBTyxJQUFJLENBQUE7U0FDWjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBZ0IsQ0FBQTtJQUVqRyxPQUFPO1FBQ0wsa0JBQWtCLENBQUMsRUFBVTtZQUMzQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxDQUFBO1FBQzFELENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvc2l0ZSwgY29tcG9zaXRlRnJvbUpzb24sIENvbXBvc2l0ZVByb3ZpZGVyIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBnZXRTY2VuZUluZm8gfSBmcm9tICd+c3lzdGVtL1NjZW5lJ1xuXG4vLyBmdW5jdGlvbiBjb21wb3NpdGVGcm9tQmluYXJ5KGJpbmFyeUNvbXBvc2l0ZTogVWludDhBcnJheSk6IENvbXBvc2l0ZSB7XG4vLyAgIHRocm93IG5ldyBFcnJvcignVG8gaW1wbGVtZW50Jylcbi8vIH1cblxuLy8gQHB1YmxpY1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvbnRlbnRGZXRjaENvbXBvc2l0ZVByb3ZpZGVyKCk6IFByb21pc2U8Q29tcG9zaXRlUHJvdmlkZXI+IHtcbiAgY29uc3Qgc2NlbmUgPSBhd2FpdCBnZXRTY2VuZUluZm8oe30pXG4gIGNvbnN0IGNvbXBvc2l0ZXNDb250ZW50ID0gc2NlbmUuY29udGVudHMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGl0ZW0uZmlsZS50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIHBhdGguZW5kc1dpdGgoJy5jb21wb3NpdGUnKSB8fCBwYXRoLmVuZHNXaXRoKCcuY29tcG9zaXRlLmpzb24nKVxuICB9KVxuXG4gIGNvbnN0IGNvbXBvc2l0ZVByb21pc2VzID0gY29tcG9zaXRlc0NvbnRlbnQubWFwKGFzeW5jIChpdGVtKSA9PiB7XG4gICAgY29uc3QgY29tcG9zaXRlVXJsID0gYCR7c2NlbmUuYmFzZVVybH0ke2l0ZW0uaGFzaH1gXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goY29tcG9zaXRlVXJsKVxuICAgICAgaWYgKGl0ZW0uZmlsZS5lbmRzV2l0aCgnLmpzb24nKSkge1xuICAgICAgICBjb25zdCBjb21wb3NpdGVKc29uID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgIGNvbnN0IGNvbXBvc2l0ZSA9IGNvbXBvc2l0ZUZyb21Kc29uKGNvbXBvc2l0ZUpzb24pXG4gICAgICAgIHJldHVybiBjb21wb3NpdGVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRPRE86IGZldGNoIGRvZXNuJ3QgaGF2ZSBhcnJheUJ1ZmZlcigpXG4gICAgICAgIC8vIGNvbnN0IGNvbXBvc2l0ZUJpbmFyeURhdGEgPSBhd2FpdCByZXNwb25zZS50ZXh0KClcblxuICAgICAgICAvLyBUT0RPOiBpbXBsZW1lbnQgY29tcG9zaXRlRnJvbUJpbmFyeVxuICAgICAgICAvLyBjb25zdCBjb21wb3NpdGUgPSBjb21wb3NpdGVGcm9tQmluYXJ5KGNvbXBvc2l0ZUJpbmFyeURhdGEpXG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGxvYWRpbmcgY29tcG9zaXRlICR7Y29tcG9zaXRlVXJsfTogJHsoZXJyIGFzIGFueSkudG9TdHJpbmcoKX1gKVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH0pXG5cbiAgY29uc3QgY29tcG9zaXRlcyA9IChhd2FpdCBQcm9taXNlLmFsbChjb21wb3NpdGVQcm9taXNlcykpLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSBhcyBDb21wb3NpdGVbXVxuXG4gIHJldHVybiB7XG4gICAgZ2V0Q29tcG9zaXRlT3JOdWxsKGlkOiBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBjb21wb3NpdGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKSB8fCBudWxsXG4gICAgfVxuICB9XG59XG4iXX0=
|
package/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { engine } from '@dcl/ecs';
|
2
|
-
import {
|
3
|
-
import { sendBatch, crdtSendToRenderer, crdtGetState } from '~system/EngineApi';
|
2
|
+
import { crdtGetState, crdtSendToRenderer, sendBatch } from '~system/EngineApi';
|
4
3
|
import { createRendererTransport } from './internal/transports/rendererTransport';
|
4
|
+
import { pollEvents } from './observables';
|
5
5
|
const rendererTransport = createRendererTransport({ crdtSendToRenderer });
|
6
6
|
engine.addTransport(rendererTransport);
|
7
7
|
export async function onUpdate(deltaTime) {
|
@@ -19,4 +19,4 @@ export async function onStart() {
|
|
19
19
|
}
|
20
20
|
}
|
21
21
|
}
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtBQUN6RSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFFdEMsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRLENBQUMsU0FBaUI7SUFDOUMsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlCLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzdCLENBQUM7QUFNRCxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU87SUFDM0IsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFbkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDL0QsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO1FBQ2pDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckQsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7YUFDdkM7U0FDRjtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAYWxwaGEgVEhJUyBGSUxFIElOSVRJQUxJWkVTIFRIRSBERUNFTlRSQUxBTkQgUlVOVElNRS4gV0lMTCBDSEFOR0UgU09PTiAqL1xuaW1wb3J0IHsgZW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBjcmR0R2V0U3RhdGUsIGNyZHRTZW5kVG9SZW5kZXJlciwgc2VuZEJhdGNoIH0gZnJvbSAnfnN5c3RlbS9FbmdpbmVBcGknXG5pbXBvcnQgeyBjcmVhdGVSZW5kZXJlclRyYW5zcG9ydCB9IGZyb20gJy4vaW50ZXJuYWwvdHJhbnNwb3J0cy9yZW5kZXJlclRyYW5zcG9ydCdcbmltcG9ydCB7IHBvbGxFdmVudHMgfSBmcm9tICcuL29ic2VydmFibGVzJ1xuXG4vLyBBdHRhY2ggQ1JEVCB0cmFuc3BvcnRcbmNvbnN0IHJlbmRlcmVyVHJhbnNwb3J0ID0gY3JlYXRlUmVuZGVyZXJUcmFuc3BvcnQoeyBjcmR0U2VuZFRvUmVuZGVyZXIgfSlcbmVuZ2luZS5hZGRUcmFuc3BvcnQocmVuZGVyZXJUcmFuc3BvcnQpXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblVwZGF0ZShkZWx0YVRpbWU6IG51bWJlcikge1xuICBhd2FpdCBlbmdpbmUudXBkYXRlKGRlbHRhVGltZSlcbiAgYXdhaXQgcG9sbEV2ZW50cyhzZW5kQmF0Y2gpXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSBhbmQgYWZ0ZXIgdGhlIGV2YWx1YXRpb24gb2YgdGhlIGNvZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblN0YXJ0KCkge1xuICBhd2FpdCBlbmdpbmUuc2VhbCgpXG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjcmR0R2V0U3RhdGUoeyBkYXRhOiBuZXcgVWludDhBcnJheSgpIH0pXG4gIGlmICghIXJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZSkge1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5kYXRhICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGJ5dGVBcnJheSBvZiByZXNwb25zZS5kYXRhKSB7XG4gICAgICAgIHJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZShieXRlQXJyYXkpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dcl/sdk",
|
3
|
-
"version": "7.1.2-
|
3
|
+
"version": "7.1.2-4426178080.commit-9504360",
|
4
4
|
"description": "",
|
5
5
|
"main": "./index.js",
|
6
6
|
"typings": "./index.d.ts",
|
@@ -16,12 +16,12 @@
|
|
16
16
|
"author": "Decentraland",
|
17
17
|
"license": "Apache-2.0",
|
18
18
|
"dependencies": {
|
19
|
-
"@dcl/ecs": "7.1.2-
|
19
|
+
"@dcl/ecs": "7.1.2-4426178080.commit-9504360",
|
20
20
|
"@dcl/ecs-math": "2.0.1-20221129185242.commit-40495c1",
|
21
21
|
"@dcl/explorer": "1.0.90114-20230313164447.commit-7c028ca",
|
22
|
-
"@dcl/js-runtime": "7.1.2-
|
23
|
-
"@dcl/react-ecs": "7.1.2-
|
24
|
-
"@dcl/sdk-commands": "7.1.2-
|
22
|
+
"@dcl/js-runtime": "7.1.2-4426178080.commit-9504360",
|
23
|
+
"@dcl/react-ecs": "7.1.2-4426178080.commit-9504360",
|
24
|
+
"@dcl/sdk-commands": "7.1.2-4426178080.commit-9504360"
|
25
25
|
},
|
26
26
|
"minCliVersion": "3.14.1",
|
27
27
|
"typedoc": {
|
@@ -30,5 +30,5 @@
|
|
30
30
|
"displayName": "SDK",
|
31
31
|
"tsconfig": "./tsconfig.json"
|
32
32
|
},
|
33
|
-
"commit": "
|
33
|
+
"commit": "950436017ab8c641b3200d13e39e696f901efe26"
|
34
34
|
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { Composite, compositeFromJson, CompositeProvider } from '@dcl/ecs'
|
2
|
+
import { getSceneInfo } from '~system/Scene'
|
3
|
+
|
4
|
+
// function compositeFromBinary(binaryComposite: Uint8Array): Composite {
|
5
|
+
// throw new Error('To implement')
|
6
|
+
// }
|
7
|
+
|
8
|
+
// @public
|
9
|
+
export async function createContentFetchCompositeProvider(): Promise<CompositeProvider> {
|
10
|
+
const scene = await getSceneInfo({})
|
11
|
+
const compositesContent = scene.contents.filter((item) => {
|
12
|
+
const path = item.file.toLowerCase()
|
13
|
+
return path.endsWith('.composite') || path.endsWith('.composite.json')
|
14
|
+
})
|
15
|
+
|
16
|
+
const compositePromises = compositesContent.map(async (item) => {
|
17
|
+
const compositeUrl = `${scene.baseUrl}${item.hash}`
|
18
|
+
try {
|
19
|
+
const response = await fetch(compositeUrl)
|
20
|
+
if (item.file.endsWith('.json')) {
|
21
|
+
const compositeJson = await response.json()
|
22
|
+
const composite = compositeFromJson(compositeJson)
|
23
|
+
return composite
|
24
|
+
} else {
|
25
|
+
// TODO: fetch doesn't have arrayBuffer()
|
26
|
+
// const compositeBinaryData = await response.text()
|
27
|
+
|
28
|
+
// TODO: implement compositeFromBinary
|
29
|
+
// const composite = compositeFromBinary(compositeBinaryData)
|
30
|
+
|
31
|
+
return null
|
32
|
+
}
|
33
|
+
} catch (err) {
|
34
|
+
console.error(`Error loading composite ${compositeUrl}: ${(err as any).toString()}`)
|
35
|
+
return null
|
36
|
+
}
|
37
|
+
})
|
38
|
+
|
39
|
+
const composites = (await Promise.all(compositePromises)).filter((item) => !!item) as Composite[]
|
40
|
+
|
41
|
+
return {
|
42
|
+
getCompositeOrNull(id: string) {
|
43
|
+
return composites.find((item) => item.id === id) || null
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
package/src/index.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
/** @alpha THIS FILE INITIALIZES THE DECENTRALAND RUNTIME. WILL CHANGE SOON */
|
2
2
|
import { engine } from '@dcl/ecs'
|
3
|
-
import {
|
4
|
-
import { sendBatch, crdtSendToRenderer, crdtGetState } from '~system/EngineApi'
|
3
|
+
import { crdtGetState, crdtSendToRenderer, sendBatch } from '~system/EngineApi'
|
5
4
|
import { createRendererTransport } from './internal/transports/rendererTransport'
|
5
|
+
import { pollEvents } from './observables'
|
6
6
|
|
7
7
|
// Attach CRDT transport
|
8
8
|
const rendererTransport = createRendererTransport({ crdtSendToRenderer })
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { engine, instanceComposite } from '@dcl/ecs'
|
2
|
+
import { createContentFetchCompositeProvider } from './composite-provider'
|
3
|
+
import { onStart as basicOnStart, onUpdate as basicOnUpdate } from './index'
|
4
|
+
|
5
|
+
export const onUpdate = basicOnUpdate
|
6
|
+
|
7
|
+
/**
|
8
|
+
* @internal
|
9
|
+
* Function that is called before the first update and after the evaluation of the code.
|
10
|
+
*/
|
11
|
+
/*#__PURE__*/ export async function onStart() {
|
12
|
+
const compositeProvider = await createContentFetchCompositeProvider()
|
13
|
+
const mainComposite = compositeProvider.getCompositeOrNull('main')
|
14
|
+
if (mainComposite) {
|
15
|
+
instanceComposite(engine, mainComposite, () => engine.addEntity(), compositeProvider)
|
16
|
+
}
|
17
|
+
|
18
|
+
await basicOnStart()
|
19
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { engine, instanceComposite } from '@dcl/ecs';
|
2
|
+
import { createContentFetchCompositeProvider } from './composite-provider';
|
3
|
+
import { onStart as basicOnStart, onUpdate as basicOnUpdate } from './index';
|
4
|
+
export const onUpdate = basicOnUpdate;
|
5
|
+
export async function onStart() {
|
6
|
+
const compositeProvider = await createContentFetchCompositeProvider();
|
7
|
+
const mainComposite = compositeProvider.getCompositeOrNull('main');
|
8
|
+
if (mainComposite) {
|
9
|
+
instanceComposite(engine, mainComposite, () => engine.addEntity(), compositeProvider);
|
10
|
+
}
|
11
|
+
await basicOnStart();
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb21wb3NpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvd2l0aC1jb21wb3NpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxRQUFRLElBQUksYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUE7QUFNdkIsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPO0lBQ3pDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxtQ0FBbUMsRUFBRSxDQUFBO0lBQ3JFLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLElBQUksYUFBYSxFQUFFO1FBQ2pCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUE7S0FDdEY7SUFFRCxNQUFNLFlBQVksRUFBRSxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmdpbmUsIGluc3RhbmNlQ29tcG9zaXRlIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBjcmVhdGVDb250ZW50RmV0Y2hDb21wb3NpdGVQcm92aWRlciB9IGZyb20gJy4vY29tcG9zaXRlLXByb3ZpZGVyJ1xuaW1wb3J0IHsgb25TdGFydCBhcyBiYXNpY09uU3RhcnQsIG9uVXBkYXRlIGFzIGJhc2ljT25VcGRhdGUgfSBmcm9tICcuL2luZGV4J1xuXG5leHBvcnQgY29uc3Qgb25VcGRhdGUgPSBiYXNpY09uVXBkYXRlXG5cbi8qKlxuICogQGludGVybmFsXG4gKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSBhbmQgYWZ0ZXIgdGhlIGV2YWx1YXRpb24gb2YgdGhlIGNvZGUuXG4gKi9cbi8qI19fUFVSRV9fKi8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9uU3RhcnQoKSB7XG4gIGNvbnN0IGNvbXBvc2l0ZVByb3ZpZGVyID0gYXdhaXQgY3JlYXRlQ29udGVudEZldGNoQ29tcG9zaXRlUHJvdmlkZXIoKVxuICBjb25zdCBtYWluQ29tcG9zaXRlID0gY29tcG9zaXRlUHJvdmlkZXIuZ2V0Q29tcG9zaXRlT3JOdWxsKCdtYWluJylcbiAgaWYgKG1haW5Db21wb3NpdGUpIHtcbiAgICBpbnN0YW5jZUNvbXBvc2l0ZShlbmdpbmUsIG1haW5Db21wb3NpdGUsICgpID0+IGVuZ2luZS5hZGRFbnRpdHkoKSwgY29tcG9zaXRlUHJvdmlkZXIpXG4gIH1cblxuICBhd2FpdCBiYXNpY09uU3RhcnQoKVxufVxuIl19
|