@dcl/sdk 7.15.2 → 7.15.3-20090667358.commit-8e697e3
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/network/entities.js +3 -3
- package/network/filter.js +3 -4
- package/network/state.d.ts +2 -5
- package/network/state.js +2 -12
- package/package.json +6 -6
- package/src/network/entities.ts +2 -2
- package/src/network/filter.ts +3 -3
- package/src/network/state.ts +3 -20
package/network/entities.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NetworkEntity as _NetworkEntity, NetworkParent as _NetworkParent, Transform as _Transform, SyncComponents as _SyncComponents } from '@dcl/ecs';
|
|
2
|
-
import {
|
|
2
|
+
import { NOT_SYNC_COMPONENTS } from './state';
|
|
3
3
|
export function entityUtils(engine, profile) {
|
|
4
4
|
const NetworkEntity = engine.getComponent(_NetworkEntity.componentId);
|
|
5
5
|
const NetworkParent = engine.getComponent(_NetworkParent.componentId);
|
|
@@ -29,7 +29,7 @@ export function entityUtils(engine, profile) {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
for (const component of
|
|
32
|
+
for (const component of NOT_SYNC_COMPONENTS) {
|
|
33
33
|
if (componentsIdsMutable.includes(component.componentId)) {
|
|
34
34
|
console.log(`⚠️ ${component.componentName} can't be sync through the network!`);
|
|
35
35
|
componentsIdsMutable = componentsIdsMutable.filter(($) => $ !== component.componentId);
|
|
@@ -110,4 +110,4 @@ export function entityUtils(engine, profile) {
|
|
|
110
110
|
getFirstChild
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV0d29yay9lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsYUFBYSxJQUFJLGNBQWMsRUFFL0IsYUFBYSxJQUFJLGNBQWMsRUFDL0IsU0FBUyxJQUFJLFVBQVUsRUFDdkIsY0FBYyxJQUFJLGVBQWUsRUFJbEMsTUFBTSxVQUFVLENBQUE7QUFFakIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBSS9DLE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBZSxFQUFFLE9BQWlCO0lBQzVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBbUIsQ0FBQTtJQUN2RixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQW1CLENBQUE7SUFDdkYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUF1QixDQUFBO0lBQ25GLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBb0IsQ0FBQTtJQUUxRjs7T0FFRztJQUNILFNBQVMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsWUFBc0IsRUFBRSxZQUFxQjtRQUNqRixJQUFJLG9CQUFvQixHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtRQUM1QywwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFBO1NBQ3hGO1FBRUQsaUdBQWlHO1FBQ2pHLE1BQU0sWUFBWSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFL0QsNkdBQTZHO1FBQzdHLDJGQUEyRjtRQUMz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a0NBQWtDO1FBQ2xDLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRTlDLDhGQUE4RjtRQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ3pCO2FBQU07WUFDTCxnR0FBZ0c7WUFDaEcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUM3QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsWUFBWSxDQUFDLE1BQWM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUUvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1NBQ3RDO1FBRUQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsT0FBTztRQUNMLFVBQVU7UUFDVixXQUFXO1FBQ1gsU0FBUztRQUNULFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5LFxuICBJRW5naW5lLFxuICBOZXR3b3JrRW50aXR5IGFzIF9OZXR3b3JrRW50aXR5LFxuICBJTmV0b3dya0VudGl0eSxcbiAgTmV0d29ya1BhcmVudCBhcyBfTmV0d29ya1BhcmVudCxcbiAgVHJhbnNmb3JtIGFzIF9UcmFuc2Zvcm0sXG4gIFN5bmNDb21wb25lbnRzIGFzIF9TeW5jQ29tcG9uZW50cyxcbiAgSU5ldG93cmtQYXJlbnQsXG4gIFRyYW5zZm9ybUNvbXBvbmVudCxcbiAgSVN5bmNDb21wb25lbnRzXG59IGZyb20gJ0BkY2wvZWNzJ1xuaW1wb3J0IHsgSVByb2ZpbGUgfSBmcm9tICcuL21lc3NhZ2UtYnVzLXN5bmMnXG5pbXBvcnQgeyBnZXREZXN5bmNlZENvbXBvbmVudHMgfSBmcm9tICcuL3N0YXRlJ1xuXG5leHBvcnQgdHlwZSBTeW5jRW50aXR5ID0gKGVudGl0eUlkOiBFbnRpdHksIGNvbXBvbmVudElkczogbnVtYmVyW10sIGVudGl0eUVudW1JZD86IG51bWJlcikgPT4gdm9pZFxuXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VXRpbHMoZW5naW5lOiBJRW5naW5lLCBwcm9maWxlOiBJUHJvZmlsZSkge1xuICBjb25zdCBOZXR3b3JrRW50aXR5ID0gZW5naW5lLmdldENvbXBvbmVudChfTmV0d29ya0VudGl0eS5jb21wb25lbnRJZCkgYXMgSU5ldG93cmtFbnRpdHlcbiAgY29uc3QgTmV0d29ya1BhcmVudCA9IGVuZ2luZS5nZXRDb21wb25lbnQoX05ldHdvcmtQYXJlbnQuY29tcG9uZW50SWQpIGFzIElOZXRvd3JrUGFyZW50XG4gIGNvbnN0IFRyYW5zZm9ybSA9IGVuZ2luZS5nZXRDb21wb25lbnQoX1RyYW5zZm9ybS5jb21wb25lbnRJZCkgYXMgVHJhbnNmb3JtQ29tcG9uZW50XG4gIGNvbnN0IFN5bmNDb21wb25lbnRzID0gZW5naW5lLmdldENvbXBvbmVudChfU3luY0NvbXBvbmVudHMuY29tcG9uZW50SWQpIGFzIElTeW5jQ29tcG9uZW50c1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXR3b3JrIGVudGl0eSAoc3luYykgdGhyb3VnaCBjb21tcywgYW5kIHN5bmMgdGhlIHJlY2VpdmVkIGNvbXBvbmVudHNcbiAgICovXG4gIGZ1bmN0aW9uIHN5bmNFbnRpdHkoZW50aXR5SWQ6IEVudGl0eSwgY29tcG9uZW50SWRzOiBudW1iZXJbXSwgZW50aXR5RW51bUlkPzogbnVtYmVyKSB7XG4gICAgbGV0IGNvbXBvbmVudHNJZHNNdXRhYmxlID0gWy4uLmNvbXBvbmVudElkc11cbiAgICAvLyBQcm9maWxlIG5vdCBpbml0aWFsaXplZFxuICAgIGlmICghcHJvZmlsZT8ubmV0d29ya0lkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb2ZpbGUgbm90IGluaXRpYWxpemVkLiBDYWxsIHN5bmNFbnRpdHkgaW5zaWRlIHRoZSBtYWluKCkgZnVuY3Rpb24uJylcbiAgICB9XG5cbiAgICAvLyBXZSB1c2UgdGhlIG5ldHdvcmtJZCBnZW5lcmF0ZWQgYnkgdGhlIHVzZXIgYWRkcmVzcyB0byBpZGVudGlmeSB0aGlzIGVudGl0eSB0aHJvdWdoIHRoZSBuZXR3b3JrXG4gICAgY29uc3QgbmV0d29ya1ZhbHVlID0geyBlbnRpdHlJZCwgbmV0d29ya0lkOiBwcm9maWxlLm5ldHdvcmtJZCB9XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBhbiBlbnRpdHlFbnVtSWQsIGl0IG1lYW5zIGlzIHRoZSBzYW1lIGVudGl0eSBmb3IgYWxsIHRoZSBjbGllbnRzIGNyZWF0ZWQgb24gdGhlIG1haW4gZnVuY2l0b24uXG4gICAgLy8gU28gdGhlIG5ldHdvcmtJZCBzaG91bGQgYmUgdGhlIHNhbWUgaW4gYWxsIHRoZSBjbGllbnRzIHRvIGF2b2lkIHJlLWNyZWF0aW5nIHRoaXMgZW50aXR5LlxuICAgIC8vIEZvciB0aGlzIGNhc2Ugd2UgdXNlIG5ldHdvcmtJZCA9IDAuXG4gICAgaWYgKGVudGl0eUVudW1JZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXR3b3JrVmFsdWUubmV0d29ya0lkID0gMFxuICAgICAgbmV0d29ya1ZhbHVlLmVudGl0eUlkID0gZW50aXR5RW51bUlkIGFzIEVudGl0eVxuXG4gICAgICAvLyBDaGVjayBpZiB0aGlzIGVudW0gaXMgYWxyZWFkeSB1c2VkXG4gICAgICBmb3IgKGNvbnN0IFtfLCBuZXR3b3JrXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKE5ldHdvcmtFbnRpdHkpKSB7XG4gICAgICAgIGlmIChuZXR3b3JrLm5ldHdvcmtJZCA9PT0gbmV0d29ya1ZhbHVlLm5ldHdvcmtJZCAmJiBuZXR3b3JrLmVudGl0eUlkID09PSBuZXR3b3JrVmFsdWUuZW50aXR5SWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3N5bmNFbnRpdHkgZmFpbGVkIGJlY2F1c2UgdGhlIGlkIHByb3ZpZGVkIGlzIGFscmVhZHkgaW4gdXNlJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIGdldERlc3luY2VkQ29tcG9uZW50cyhlbmdpbmUpKSB7XG4gICAgICBpZiAoY29tcG9uZW50c0lkc011dGFibGUuaW5jbHVkZXMoY29tcG9uZW50LmNvbXBvbmVudElkKSkge1xuICAgICAgICBjb25zb2xlLmxvZyhg4pqg77iPICR7Y29tcG9uZW50LmNvbXBvbmVudE5hbWV9IGNhbid0IGJlIHN5bmMgdGhyb3VnaCB0aGUgbmV0d29yayFgKVxuICAgICAgICBjb21wb25lbnRzSWRzTXV0YWJsZSA9IGNvbXBvbmVudHNJZHNNdXRhYmxlLmZpbHRlcigoJCkgPT4gJCAhPT0gY29tcG9uZW50LmNvbXBvbmVudElkKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGlzIG5vdCBkZWZpbmVkLCB0aGVuIGlzIGEgZW50aXR5IGNyZWF0ZWQgaW4gcnVudGltZSAod2hhdCB3ZSBjYWxsZWQgZHluYW1pYy9ydW50aW1lIGVudGl0aWVzKS5cbiAgICBOZXR3b3JrRW50aXR5LmNyZWF0ZU9yUmVwbGFjZShlbnRpdHlJZCwgbmV0d29ya1ZhbHVlKVxuICAgIFN5bmNDb21wb25lbnRzLmNyZWF0ZU9yUmVwbGFjZShlbnRpdHlJZCwgeyBjb21wb25lbnRJZHM6IGNvbXBvbmVudHNJZHNNdXRhYmxlIH0pXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBpdGVyYWJsZSBvZiBhbGwgdGhlIGNoaWxkcmVucyBvZiB0aGUgZ2l2ZW4gZW50aXR5LlxuICAgKiBmb3IgKGNvbnN0IGNoaWxkcmVuIG9mIGdldENoaWxkcmVuKHBhcmVudCkpIHsgY29uc29sZS5sb2coY2hpbGRyZW4pIH1cbiAgICogb3IganVzdCA9PiBjb25zdCBjaGlsZHJlbnM6IEVudGl0eVtdID0gQXJyYXkuZnJvbShnZXRDaGlsZHJlbihwYXJlbnQpKVxuICAgKi9cbiAgZnVuY3Rpb24qIGdldENoaWxkcmVuKHBhcmVudDogRW50aXR5KTogSXRlcmFibGU8RW50aXR5PiB7XG4gICAgY29uc3QgbmV0d29yayA9IE5ldHdvcmtFbnRpdHkuZ2V0T3JOdWxsKHBhcmVudClcbiAgICBpZiAobmV0d29yaykge1xuICAgICAgZm9yIChjb25zdCBbZW50aXR5LCBwYXJlbnRdIG9mIGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoTmV0d29ya1BhcmVudCkpIHtcbiAgICAgICAgaWYgKHBhcmVudC5lbnRpdHlJZCA9PT0gbmV0d29yay5lbnRpdHlJZCAmJiBwYXJlbnQubmV0d29ya0lkID09PSBuZXR3b3JrLm5ldHdvcmtJZCkge1xuICAgICAgICAgIHlpZWxkIGVudGl0eVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0Rmlyc3RDaGlsZChlbnRpdHk6IEVudGl0eSkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGdldENoaWxkcmVuKGVudGl0eSkpWzBdXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcGFyZW50IGVudGl0eSBvZiB0aGUgZ2l2ZW4gZW50aXR5LlxuICAgKi9cbiAgZnVuY3Rpb24gZ2V0UGFyZW50KGNoaWxkOiBFbnRpdHkpOiBFbnRpdHkgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBhcmVudCA9IE5ldHdvcmtQYXJlbnQuZ2V0T3JOdWxsKGNoaWxkKVxuICAgIGlmICghcGFyZW50KSByZXR1cm4gdW5kZWZpbmVkXG4gICAgZm9yIChjb25zdCBbZW50aXR5LCBuZXR3b3JrXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKE5ldHdvcmtFbnRpdHkpKSB7XG4gICAgICBpZiAocGFyZW50Lm5ldHdvcmtJZCA9PT0gbmV0d29yay5uZXR3b3JrSWQgJiYgcGFyZW50LmVudGl0eUlkID09PSBuZXR3b3JrLmVudGl0eUlkKSB7XG4gICAgICAgIHJldHVybiBlbnRpdHlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIG5ldHdvcmsgcGFyZW50aW5nIHRvIHN5bmMgZW50aXRpZXMuXG4gICAqIEVxdWl2YWxlbnQgdG8gVHJhbnNmb3JtLnBhcmVudCBmb3IgbG9jYWwgZW50aXRpZXNcbiAgICovXG4gIGZ1bmN0aW9uIHBhcmVudEVudGl0eShlbnRpdHk6IEVudGl0eSwgcGFyZW50OiBFbnRpdHkpIHtcbiAgICBjb25zdCBuZXR3b3JrID0gTmV0d29ya0VudGl0eS5nZXRPck51bGwocGFyZW50KVxuICAgIGlmICghbmV0d29yaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbnRpdHkgaXMgbm90IHN5bmMuIENhbGwgc3luY0VudGl0eSBvbiB0aGUgcGFyZW50LicpXG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIG5ldHdvcmsgcGFyZW50IGNvbXBvbmVudFxuICAgIE5ldHdvcmtQYXJlbnQuY3JlYXRlT3JSZXBsYWNlKGVudGl0eSwgbmV0d29yaylcblxuICAgIC8vIElmIHdlIGRvbnQgaGF2ZSBhIHRyYW5zZm9ybSBmb3IgdGhpcyBlbnRpdHksIGNyZWF0ZSBhbiBlbXB0eSBvbmUgdG8gc2VuZCBpdCB0byB0aGUgcmVuZGVyZXJcbiAgICBpZiAoIVRyYW5zZm9ybS5nZXRPck51bGwoZW50aXR5KSkge1xuICAgICAgVHJhbnNmb3JtLmNyZWF0ZShlbnRpdHkpXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlIGZvcmNlIHRvIHNlbmQgYSB0aWNrIHVwZGF0ZSBvZiB0aGUgdHJhbnNmb3JtIHNvIHdlIGNhbiBzZW5kIHRoZSBORVcgcGFyZW50IHRvIHRoZSByZW5kZXJlclxuICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoZW50aXR5KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBuZXR3b3JrIHBhcmVudGluZyBmcm9tIGFuIGVudGl0eVxuICAgKi9cbiAgZnVuY3Rpb24gcmVtb3ZlUGFyZW50KGVudGl0eTogRW50aXR5KSB7XG4gICAgY29uc3QgbmV0d29yayA9IE5ldHdvcmtFbnRpdHkuZ2V0T3JOdWxsKGVudGl0eSlcblxuICAgIGlmICghbmV0d29yaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbnRpdHkgaXMgbm90IHN5bmMnKVxuICAgIH1cblxuICAgIE5ldHdvcmtQYXJlbnQuZGVsZXRlRnJvbShlbnRpdHkpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN5bmNFbnRpdHksXG4gICAgZ2V0Q2hpbGRyZW4sXG4gICAgZ2V0UGFyZW50LFxuICAgIHBhcmVudEVudGl0eSxcbiAgICByZW1vdmVQYXJlbnQsXG4gICAgZ2V0Rmlyc3RDaGlsZFxuICB9XG59XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV0d29yay9lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsYUFBYSxJQUFJLGNBQWMsRUFFL0IsYUFBYSxJQUFJLGNBQWMsRUFDL0IsU0FBUyxJQUFJLFVBQVUsRUFDdkIsY0FBYyxJQUFJLGVBQWUsRUFJbEMsTUFBTSxVQUFVLENBQUE7QUFFakIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBSTdDLE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBZSxFQUFFLE9BQWlCO0lBQzVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBbUIsQ0FBQTtJQUN2RixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQW1CLENBQUE7SUFDdkYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUF1QixDQUFBO0lBQ25GLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBb0IsQ0FBQTtJQUUxRjs7T0FFRztJQUNILFNBQVMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsWUFBc0IsRUFBRSxZQUFxQjtRQUNqRixJQUFJLG9CQUFvQixHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtRQUM1QywwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFBO1NBQ3hGO1FBRUQsaUdBQWlHO1FBQ2pHLE1BQU0sWUFBWSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFL0QsNkdBQTZHO1FBQzdHLDJGQUEyRjtRQUMzRixzQ0FBc0M7UUFDdEMsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQzlCLFlBQVksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO1lBQzFCLFlBQVksQ0FBQyxRQUFRLEdBQUcsWUFBc0IsQ0FBQTtZQUU5QyxxQ0FBcUM7WUFDckMsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ2hFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxZQUFZLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsRUFBRTtvQkFDOUYsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFBO2lCQUMvRTthQUNGO1NBQ0Y7UUFFRCxLQUFLLE1BQU0sU0FBUyxJQUFJLG1CQUFtQixFQUFFO1lBQzNDLElBQUksb0JBQW9CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxhQUFhLHFDQUFxQyxDQUFDLENBQUE7Z0JBQy9FLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTthQUN2RjtTQUNGO1FBRUQsb0dBQW9HO1FBQ3BHLGFBQWEsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ3JELGNBQWMsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQTtJQUNsRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFjO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDL0MsSUFBSSxPQUFPLEVBQUU7WUFDWCxLQUFLLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDcEUsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsU0FBUyxFQUFFO29CQUNsRixNQUFNLE1BQU0sQ0FBQTtpQkFDYjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsU0FBUyxhQUFhLENBQUMsTUFBYztRQUNuQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxTQUFTLENBQUMsS0FBYTtRQUM5QixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzdDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFDN0IsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDckUsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUNsRixPQUFPLE1BQU0sQ0FBQTthQUNkO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxZQUFZLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFBO1NBQ3RFO1FBRUQsa0NBQWtDO1FBQ2xDLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRTlDLDhGQUE4RjtRQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ3pCO2FBQU07WUFDTCxnR0FBZ0c7WUFDaEcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUM3QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsWUFBWSxDQUFDLE1BQWM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUUvQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1NBQ3RDO1FBRUQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsT0FBTztRQUNMLFVBQVU7UUFDVixXQUFXO1FBQ1gsU0FBUztRQUNULFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5LFxuICBJRW5naW5lLFxuICBOZXR3b3JrRW50aXR5IGFzIF9OZXR3b3JrRW50aXR5LFxuICBJTmV0b3dya0VudGl0eSxcbiAgTmV0d29ya1BhcmVudCBhcyBfTmV0d29ya1BhcmVudCxcbiAgVHJhbnNmb3JtIGFzIF9UcmFuc2Zvcm0sXG4gIFN5bmNDb21wb25lbnRzIGFzIF9TeW5jQ29tcG9uZW50cyxcbiAgSU5ldG93cmtQYXJlbnQsXG4gIFRyYW5zZm9ybUNvbXBvbmVudCxcbiAgSVN5bmNDb21wb25lbnRzXG59IGZyb20gJ0BkY2wvZWNzJ1xuaW1wb3J0IHsgSVByb2ZpbGUgfSBmcm9tICcuL21lc3NhZ2UtYnVzLXN5bmMnXG5pbXBvcnQgeyBOT1RfU1lOQ19DT01QT05FTlRTIH0gZnJvbSAnLi9zdGF0ZSdcblxuZXhwb3J0IHR5cGUgU3luY0VudGl0eSA9IChlbnRpdHlJZDogRW50aXR5LCBjb21wb25lbnRJZHM6IG51bWJlcltdLCBlbnRpdHlFbnVtSWQ/OiBudW1iZXIpID0+IHZvaWRcblxuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eVV0aWxzKGVuZ2luZTogSUVuZ2luZSwgcHJvZmlsZTogSVByb2ZpbGUpIHtcbiAgY29uc3QgTmV0d29ya0VudGl0eSA9IGVuZ2luZS5nZXRDb21wb25lbnQoX05ldHdvcmtFbnRpdHkuY29tcG9uZW50SWQpIGFzIElOZXRvd3JrRW50aXR5XG4gIGNvbnN0IE5ldHdvcmtQYXJlbnQgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KF9OZXR3b3JrUGFyZW50LmNvbXBvbmVudElkKSBhcyBJTmV0b3dya1BhcmVudFxuICBjb25zdCBUcmFuc2Zvcm0gPSBlbmdpbmUuZ2V0Q29tcG9uZW50KF9UcmFuc2Zvcm0uY29tcG9uZW50SWQpIGFzIFRyYW5zZm9ybUNvbXBvbmVudFxuICBjb25zdCBTeW5jQ29tcG9uZW50cyA9IGVuZ2luZS5nZXRDb21wb25lbnQoX1N5bmNDb21wb25lbnRzLmNvbXBvbmVudElkKSBhcyBJU3luY0NvbXBvbmVudHNcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV0d29yayBlbnRpdHkgKHN5bmMpIHRocm91Z2ggY29tbXMsIGFuZCBzeW5jIHRoZSByZWNlaXZlZCBjb21wb25lbnRzXG4gICAqL1xuICBmdW5jdGlvbiBzeW5jRW50aXR5KGVudGl0eUlkOiBFbnRpdHksIGNvbXBvbmVudElkczogbnVtYmVyW10sIGVudGl0eUVudW1JZD86IG51bWJlcikge1xuICAgIGxldCBjb21wb25lbnRzSWRzTXV0YWJsZSA9IFsuLi5jb21wb25lbnRJZHNdXG4gICAgLy8gUHJvZmlsZSBub3QgaW5pdGlhbGl6ZWRcbiAgICBpZiAoIXByb2ZpbGU/Lm5ldHdvcmtJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9maWxlIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBzeW5jRW50aXR5IGluc2lkZSB0aGUgbWFpbigpIGZ1bmN0aW9uLicpXG4gICAgfVxuXG4gICAgLy8gV2UgdXNlIHRoZSBuZXR3b3JrSWQgZ2VuZXJhdGVkIGJ5IHRoZSB1c2VyIGFkZHJlc3MgdG8gaWRlbnRpZnkgdGhpcyBlbnRpdHkgdGhyb3VnaCB0aGUgbmV0d29ya1xuICAgIGNvbnN0IG5ldHdvcmtWYWx1ZSA9IHsgZW50aXR5SWQsIG5ldHdvcmtJZDogcHJvZmlsZS5uZXR3b3JrSWQgfVxuXG4gICAgLy8gSWYgdGhlcmUgaXMgYW4gZW50aXR5RW51bUlkLCBpdCBtZWFucyBpcyB0aGUgc2FtZSBlbnRpdHkgZm9yIGFsbCB0aGUgY2xpZW50cyBjcmVhdGVkIG9uIHRoZSBtYWluIGZ1bmNpdG9uLlxuICAgIC8vIFNvIHRoZSBuZXR3b3JrSWQgc2hvdWxkIGJlIHRoZSBzYW1lIGluIGFsbCB0aGUgY2xpZW50cyB0byBhdm9pZCByZS1jcmVhdGluZyB0aGlzIGVudGl0eS5cbiAgICAvLyBGb3IgdGhpcyBjYXNlIHdlIHVzZSBuZXR3b3JrSWQgPSAwLlxuICAgIGlmIChlbnRpdHlFbnVtSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV0d29ya1ZhbHVlLm5ldHdvcmtJZCA9IDBcbiAgICAgIG5ldHdvcmtWYWx1ZS5lbnRpdHlJZCA9IGVudGl0eUVudW1JZCBhcyBFbnRpdHlcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBlbnVtIGlzIGFscmVhZHkgdXNlZFxuICAgICAgZm9yIChjb25zdCBbXywgbmV0d29ya10gb2YgZW5naW5lLmdldEVudGl0aWVzV2l0aChOZXR3b3JrRW50aXR5KSkge1xuICAgICAgICBpZiAobmV0d29yay5uZXR3b3JrSWQgPT09IG5ldHdvcmtWYWx1ZS5uZXR3b3JrSWQgJiYgbmV0d29yay5lbnRpdHlJZCA9PT0gbmV0d29ya1ZhbHVlLmVudGl0eUlkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzeW5jRW50aXR5IGZhaWxlZCBiZWNhdXNlIHRoZSBpZCBwcm92aWRlZCBpcyBhbHJlYWR5IGluIHVzZScpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBOT1RfU1lOQ19DT01QT05FTlRTKSB7XG4gICAgICBpZiAoY29tcG9uZW50c0lkc011dGFibGUuaW5jbHVkZXMoY29tcG9uZW50LmNvbXBvbmVudElkKSkge1xuICAgICAgICBjb25zb2xlLmxvZyhg4pqg77iPICR7Y29tcG9uZW50LmNvbXBvbmVudE5hbWV9IGNhbid0IGJlIHN5bmMgdGhyb3VnaCB0aGUgbmV0d29yayFgKVxuICAgICAgICBjb21wb25lbnRzSWRzTXV0YWJsZSA9IGNvbXBvbmVudHNJZHNNdXRhYmxlLmZpbHRlcigoJCkgPT4gJCAhPT0gY29tcG9uZW50LmNvbXBvbmVudElkKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGlzIG5vdCBkZWZpbmVkLCB0aGVuIGlzIGEgZW50aXR5IGNyZWF0ZWQgaW4gcnVudGltZSAod2hhdCB3ZSBjYWxsZWQgZHluYW1pYy9ydW50aW1lIGVudGl0aWVzKS5cbiAgICBOZXR3b3JrRW50aXR5LmNyZWF0ZU9yUmVwbGFjZShlbnRpdHlJZCwgbmV0d29ya1ZhbHVlKVxuICAgIFN5bmNDb21wb25lbnRzLmNyZWF0ZU9yUmVwbGFjZShlbnRpdHlJZCwgeyBjb21wb25lbnRJZHM6IGNvbXBvbmVudHNJZHNNdXRhYmxlIH0pXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBpdGVyYWJsZSBvZiBhbGwgdGhlIGNoaWxkcmVucyBvZiB0aGUgZ2l2ZW4gZW50aXR5LlxuICAgKiBmb3IgKGNvbnN0IGNoaWxkcmVuIG9mIGdldENoaWxkcmVuKHBhcmVudCkpIHsgY29uc29sZS5sb2coY2hpbGRyZW4pIH1cbiAgICogb3IganVzdCA9PiBjb25zdCBjaGlsZHJlbnM6IEVudGl0eVtdID0gQXJyYXkuZnJvbShnZXRDaGlsZHJlbihwYXJlbnQpKVxuICAgKi9cbiAgZnVuY3Rpb24qIGdldENoaWxkcmVuKHBhcmVudDogRW50aXR5KTogSXRlcmFibGU8RW50aXR5PiB7XG4gICAgY29uc3QgbmV0d29yayA9IE5ldHdvcmtFbnRpdHkuZ2V0T3JOdWxsKHBhcmVudClcbiAgICBpZiAobmV0d29yaykge1xuICAgICAgZm9yIChjb25zdCBbZW50aXR5LCBwYXJlbnRdIG9mIGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoTmV0d29ya1BhcmVudCkpIHtcbiAgICAgICAgaWYgKHBhcmVudC5lbnRpdHlJZCA9PT0gbmV0d29yay5lbnRpdHlJZCAmJiBwYXJlbnQubmV0d29ya0lkID09PSBuZXR3b3JrLm5ldHdvcmtJZCkge1xuICAgICAgICAgIHlpZWxkIGVudGl0eVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0Rmlyc3RDaGlsZChlbnRpdHk6IEVudGl0eSkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGdldENoaWxkcmVuKGVudGl0eSkpWzBdXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcGFyZW50IGVudGl0eSBvZiB0aGUgZ2l2ZW4gZW50aXR5LlxuICAgKi9cbiAgZnVuY3Rpb24gZ2V0UGFyZW50KGNoaWxkOiBFbnRpdHkpOiBFbnRpdHkgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBhcmVudCA9IE5ldHdvcmtQYXJlbnQuZ2V0T3JOdWxsKGNoaWxkKVxuICAgIGlmICghcGFyZW50KSByZXR1cm4gdW5kZWZpbmVkXG4gICAgZm9yIChjb25zdCBbZW50aXR5LCBuZXR3b3JrXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKE5ldHdvcmtFbnRpdHkpKSB7XG4gICAgICBpZiAocGFyZW50Lm5ldHdvcmtJZCA9PT0gbmV0d29yay5uZXR3b3JrSWQgJiYgcGFyZW50LmVudGl0eUlkID09PSBuZXR3b3JrLmVudGl0eUlkKSB7XG4gICAgICAgIHJldHVybiBlbnRpdHlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIG5ldHdvcmsgcGFyZW50aW5nIHRvIHN5bmMgZW50aXRpZXMuXG4gICAqIEVxdWl2YWxlbnQgdG8gVHJhbnNmb3JtLnBhcmVudCBmb3IgbG9jYWwgZW50aXRpZXNcbiAgICovXG4gIGZ1bmN0aW9uIHBhcmVudEVudGl0eShlbnRpdHk6IEVudGl0eSwgcGFyZW50OiBFbnRpdHkpIHtcbiAgICBjb25zdCBuZXR3b3JrID0gTmV0d29ya0VudGl0eS5nZXRPck51bGwocGFyZW50KVxuICAgIGlmICghbmV0d29yaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbnRpdHkgaXMgbm90IHN5bmMuIENhbGwgc3luY0VudGl0eSBvbiB0aGUgcGFyZW50LicpXG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIG5ldHdvcmsgcGFyZW50IGNvbXBvbmVudFxuICAgIE5ldHdvcmtQYXJlbnQuY3JlYXRlT3JSZXBsYWNlKGVudGl0eSwgbmV0d29yaylcblxuICAgIC8vIElmIHdlIGRvbnQgaGF2ZSBhIHRyYW5zZm9ybSBmb3IgdGhpcyBlbnRpdHksIGNyZWF0ZSBhbiBlbXB0eSBvbmUgdG8gc2VuZCBpdCB0byB0aGUgcmVuZGVyZXJcbiAgICBpZiAoIVRyYW5zZm9ybS5nZXRPck51bGwoZW50aXR5KSkge1xuICAgICAgVHJhbnNmb3JtLmNyZWF0ZShlbnRpdHkpXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlIGZvcmNlIHRvIHNlbmQgYSB0aWNrIHVwZGF0ZSBvZiB0aGUgdHJhbnNmb3JtIHNvIHdlIGNhbiBzZW5kIHRoZSBORVcgcGFyZW50IHRvIHRoZSByZW5kZXJlclxuICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoZW50aXR5KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBuZXR3b3JrIHBhcmVudGluZyBmcm9tIGFuIGVudGl0eVxuICAgKi9cbiAgZnVuY3Rpb24gcmVtb3ZlUGFyZW50KGVudGl0eTogRW50aXR5KSB7XG4gICAgY29uc3QgbmV0d29yayA9IE5ldHdvcmtFbnRpdHkuZ2V0T3JOdWxsKGVudGl0eSlcblxuICAgIGlmICghbmV0d29yaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbnRpdHkgaXMgbm90IHN5bmMnKVxuICAgIH1cblxuICAgIE5ldHdvcmtQYXJlbnQuZGVsZXRlRnJvbShlbnRpdHkpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN5bmNFbnRpdHksXG4gICAgZ2V0Q2hpbGRyZW4sXG4gICAgZ2V0UGFyZW50LFxuICAgIHBhcmVudEVudGl0eSxcbiAgICByZW1vdmVQYXJlbnQsXG4gICAgZ2V0Rmlyc3RDaGlsZFxuICB9XG59XG4iXX0=
|
package/network/filter.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { EntityUtils, RESERVED_STATIC_ENTITIES, CrdtMessageType, SyncComponents as _SyncComponents, NetworkEntity as _NetworkEntity, NetworkParent as _NetworkParent } from '@dcl/ecs';
|
|
2
|
-
import {
|
|
2
|
+
import { NOT_SYNC_COMPONENTS_IDS } from './state';
|
|
3
3
|
export function syncFilter(engine) {
|
|
4
4
|
const NetworkEntity = engine.getComponent(_NetworkEntity.componentId);
|
|
5
5
|
const SyncComponents = engine.getComponent(_SyncComponents.componentId);
|
|
6
6
|
return function (message) {
|
|
7
7
|
const componentId = message.componentId;
|
|
8
|
-
|
|
9
|
-
if (component && !shouldSyncComponent(component)) {
|
|
8
|
+
if (NOT_SYNC_COMPONENTS_IDS.includes(componentId)) {
|
|
10
9
|
return false;
|
|
11
10
|
}
|
|
12
11
|
const [entityId] = EntityUtils.fromEntityId(message.entityId);
|
|
@@ -40,4 +39,4 @@ export function syncFilter(engine) {
|
|
|
40
39
|
return false;
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25ldHdvcmsvZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxXQUFXLEVBQ1gsd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZixjQUFjLElBQUksZUFBZSxFQUNqQyxhQUFhLElBQUksY0FBYyxFQUMvQixhQUFhLElBQUksY0FBYyxFQUVoQyxNQUFNLFVBQVUsQ0FBQTtBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFakQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFlO0lBQ3hDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBMEIsQ0FBQTtJQUM5RixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQTJCLENBQUE7SUFFakcsT0FBTyxVQUFVLE9BQWdEO1FBQy9ELE1BQU0sV0FBVyxHQUFJLE9BQWUsQ0FBQyxXQUFXLENBQUE7UUFFaEQsSUFBSSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakQsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3RCwwQ0FBMEM7UUFDMUMsSUFBSSxRQUFRLEdBQUcsd0JBQXdCLEVBQUU7WUFDdkMsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3pELCtCQUErQjtRQUMvQixJQUNFLE9BQU8sQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLHFCQUFxQjtZQUN0RCxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFDM0Q7WUFDQSxPQUFPLElBQUksQ0FBQTtTQUNaO1FBRUQsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkQsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUV2QixrQkFBa0I7UUFDbEIsSUFBSyxPQUFlLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQTtTQUNaO1FBRUQsSUFBSSxXQUFXLEtBQUssYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQTtTQUNiO1FBRUQscUZBQXFGO1FBQ3JGLElBQUksV0FBVyxLQUFLLGNBQWMsQ0FBQyxXQUFXLElBQUksV0FBVyxLQUFLLGNBQWMsQ0FBQyxXQUFXLEVBQUU7WUFDNUYsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUVELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzFELE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc3BvcnRNZXNzYWdlLFxuICBFbnRpdHlVdGlscyxcbiAgUkVTRVJWRURfU1RBVElDX0VOVElUSUVTLFxuICBDcmR0TWVzc2FnZVR5cGUsXG4gIFN5bmNDb21wb25lbnRzIGFzIF9TeW5jQ29tcG9uZW50cyxcbiAgTmV0d29ya0VudGl0eSBhcyBfTmV0d29ya0VudGl0eSxcbiAgTmV0d29ya1BhcmVudCBhcyBfTmV0d29ya1BhcmVudCxcbiAgSUVuZ2luZVxufSBmcm9tICdAZGNsL2VjcydcbmltcG9ydCB7IE5PVF9TWU5DX0NPTVBPTkVOVFNfSURTIH0gZnJvbSAnLi9zdGF0ZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHN5bmNGaWx0ZXIoZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IE5ldHdvcmtFbnRpdHkgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KF9OZXR3b3JrRW50aXR5LmNvbXBvbmVudElkKSBhcyB0eXBlb2YgX05ldHdvcmtFbnRpdHlcbiAgY29uc3QgU3luY0NvbXBvbmVudHMgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KF9TeW5jQ29tcG9uZW50cy5jb21wb25lbnRJZCkgYXMgdHlwZW9mIF9TeW5jQ29tcG9uZW50c1xuXG4gIHJldHVybiBmdW5jdGlvbiAobWVzc2FnZTogT21pdDxUcmFuc3BvcnRNZXNzYWdlLCAnbWVzc2FnZUJ1ZmZlcic+KSB7XG4gICAgY29uc3QgY29tcG9uZW50SWQgPSAobWVzc2FnZSBhcyBhbnkpLmNvbXBvbmVudElkXG5cbiAgICBpZiAoTk9UX1NZTkNfQ09NUE9ORU5UU19JRFMuaW5jbHVkZXMoY29tcG9uZW50SWQpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCBbZW50aXR5SWRdID0gRW50aXR5VXRpbHMuZnJvbUVudGl0eUlkKG1lc3NhZ2UuZW50aXR5SWQpXG5cbiAgICAvLyBmaWx0ZXIgbWVzc2FnZXMgZnJvbSByZXNlcnZlZCBlbnRpdGllcy5cbiAgICBpZiAoZW50aXR5SWQgPCBSRVNFUlZFRF9TVEFUSUNfRU5USVRJRVMpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGNvbnN0IG5ldHdvcmsgPSBOZXR3b3JrRW50aXR5LmdldE9yTnVsbChtZXNzYWdlLmVudGl0eUlkKVxuICAgIC8vIERlbGV0ZSBOZXR3b3JrIEVudGl0eSBBbHdheXNcbiAgICBpZiAoXG4gICAgICBtZXNzYWdlLnR5cGUgPT09IENyZHRNZXNzYWdlVHlwZS5ERUxFVEVfRU5USVRZX05FVFdPUksgfHxcbiAgICAgIChuZXR3b3JrICYmIG1lc3NhZ2UudHlwZSA9PT0gQ3JkdE1lc3NhZ2VUeXBlLkRFTEVURV9FTlRJVFkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0IHN5bmMgPSBTeW5jQ29tcG9uZW50cy5nZXRPck51bGwobWVzc2FnZS5lbnRpdHlJZClcbiAgICBpZiAoIXN5bmMpIHJldHVybiBmYWxzZVxuXG4gICAgLy8gRmlyc3QgY29tcG9uZW50XG4gICAgaWYgKChtZXNzYWdlIGFzIGFueSkudGltZXN0YW1wIDw9IDEpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudElkID09PSBOZXR3b3JrRW50aXR5LmNvbXBvbmVudElkKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGUgbmV0d29yayBwYXJlbnQgb3Igc3luY0NvbXBvbmVudHMgd2Ugc2hvdWxkIGFsd2F5cyBzeW5jXG4gICAgaWYgKGNvbXBvbmVudElkID09PSBfTmV0d29ya1BhcmVudC5jb21wb25lbnRJZCB8fCBjb21wb25lbnRJZCA9PT0gU3luY0NvbXBvbmVudHMuY29tcG9uZW50SWQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudElkICYmIHN5bmMuY29tcG9uZW50SWRzLmluY2x1ZGVzKGNvbXBvbmVudElkKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIl19
|
package/network/state.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import { IEngine
|
|
2
|
-
export declare const NOT_SYNC_COMPONENTS:
|
|
1
|
+
import { IEngine } from '@dcl/ecs';
|
|
2
|
+
export declare const NOT_SYNC_COMPONENTS: (import("@dcl/ecs").GrowOnlyValueSetComponentDefinition<import("@dcl/ecs").PBAudioEvent> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBEngineInfo> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBGltfContainerLoadingState> | import("@dcl/ecs").GrowOnlyValueSetComponentDefinition<import("@dcl/ecs").PBPointerEventsResult> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBRaycastResult> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBRealmInfo> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBTweenState> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBUiDropdown> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBUiDropdownResult> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBUiInput> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBUiInputResult> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBUiText> | import("@dcl/ecs").LastWriteWinElementSetComponentDefinition<import("@dcl/ecs").PBUiTransform> | import("@dcl/ecs").GrowOnlyValueSetComponentDefinition<import("@dcl/ecs").PBVideoEvent>)[];
|
|
3
3
|
export declare const NOT_SYNC_COMPONENTS_IDS: number[];
|
|
4
|
-
export declare const NOT_SYNC_COMPONENTS_NAMES: string[];
|
|
5
|
-
export declare function shouldSyncComponent(component: ComponentDefinition<unknown>): boolean;
|
|
6
|
-
export declare function getDesyncedComponents(engine: IEngine): ComponentDefinition<unknown>[];
|
|
7
4
|
export declare function engineToCrdt(engine: IEngine): Uint8Array[];
|
package/network/state.js
CHANGED
|
@@ -18,23 +18,13 @@ export const NOT_SYNC_COMPONENTS = [
|
|
|
18
18
|
UiText
|
|
19
19
|
];
|
|
20
20
|
export const NOT_SYNC_COMPONENTS_IDS = NOT_SYNC_COMPONENTS.map(($) => $.componentId);
|
|
21
|
-
export const NOT_SYNC_COMPONENTS_NAMES = [
|
|
22
|
-
'asset-packs::Script' // ComponentName from: https://github.com/decentraland/asset-packs/blob/main/src/enums.ts
|
|
23
|
-
];
|
|
24
|
-
export function shouldSyncComponent(component) {
|
|
25
|
-
return !(NOT_SYNC_COMPONENTS_IDS.includes(component.componentId) ||
|
|
26
|
-
NOT_SYNC_COMPONENTS_NAMES.includes(component.componentName));
|
|
27
|
-
}
|
|
28
|
-
export function getDesyncedComponents(engine) {
|
|
29
|
-
return [...NOT_SYNC_COMPONENTS, ...NOT_SYNC_COMPONENTS_NAMES.map(($) => engine.getComponentOrNull($))].filter(Boolean);
|
|
30
|
-
}
|
|
31
21
|
export function engineToCrdt(engine) {
|
|
32
22
|
const crdtBuffer = new ReadWriteByteBuffer();
|
|
33
23
|
const networkBuffer = new ReadWriteByteBuffer();
|
|
34
24
|
const NetworkEntity = engine.getComponent(_NetworkEntity.componentId);
|
|
35
25
|
const chunks = [];
|
|
36
26
|
for (const itComponentDefinition of engine.componentsIter()) {
|
|
37
|
-
if (
|
|
27
|
+
if (NOT_SYNC_COMPONENTS_IDS.includes(itComponentDefinition.componentId)) {
|
|
38
28
|
continue;
|
|
39
29
|
}
|
|
40
30
|
itComponentDefinition.dumpCrdtStateToBuffer(crdtBuffer, (entity) => {
|
|
@@ -77,4 +67,4 @@ export function engineToCrdt(engine) {
|
|
|
77
67
|
}
|
|
78
68
|
return chunks;
|
|
79
69
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV0d29yay9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM1RSxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGVBQWUsRUFFZixxQkFBcUIsRUFDckIsNEJBQTRCLEVBRTVCLGFBQWEsSUFBSSxjQUFjLEVBRS9CLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsYUFBYSxFQUNiLE1BQU0sRUFDTixXQUFXLEVBQ1osTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFN0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFNBQVM7SUFDVCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLE9BQU87SUFDUCxhQUFhO0lBQ2IsV0FBVztJQUNYLE1BQU07Q0FDUCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFcEYsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFlO0lBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUE7SUFDL0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFtQixDQUFBO0lBQ3ZGLE1BQU0sTUFBTSxHQUFpQixFQUFFLENBQUE7SUFFL0IsS0FBSyxNQUFNLHFCQUFxQixJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRTtRQUMzRCxJQUFJLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2RSxTQUFRO1NBQ1Q7UUFDRCxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqRSxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pELE9BQU8sZUFBZSxDQUFBO1FBQ3hCLENBQUMsQ0FBQyxDQUFBO0tBQ0g7SUFFRCxJQUFJLE1BQWdDLENBQUE7SUFDcEMsT0FBTyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRTtRQUMzRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUNqRCxNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUE7WUFDdkQsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7WUFFL0QsMkRBQTJEO1lBQzNELE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQTtZQUM3RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtZQUUzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixFQUFFO2dCQUMvRCx3REFBd0Q7Z0JBQ3hELElBQUksaUJBQWlCLEdBQUcsQ0FBQyxFQUFFO29CQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFBO29CQUMzQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUE7aUJBQzVCO2dCQUVELGlGQUFpRjtnQkFDakYsbURBQW1EO2dCQUNuRCxJQUFJLFdBQVcsR0FBRyxJQUFJLEdBQUcsZ0JBQWdCLEVBQUU7b0JBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsc0JBQXNCLFdBQVcsK0JBQStCLE9BQU8sQ0FBQyxXQUFXLGVBQWUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUNySCxDQUFBO29CQUNELFNBQVE7aUJBQ1Q7YUFDRjtZQUVELElBQUksYUFBYSxFQUFFO2dCQUNqQiw0QkFBNEIsQ0FBQyxLQUFLLENBQ2hDLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLGFBQWEsQ0FBQyxTQUFTLEVBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEVBQ1osYUFBYSxDQUNkLENBQUE7YUFDRjtTQUNGO2FBQU07WUFDTCxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQzlDO0tBQ0Y7SUFFRCw0Q0FBNEM7SUFDNUMsSUFBSSxhQUFhLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtLQUN0QztJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWRXcml0ZUJ5dGVCdWZmZXIgfSBmcm9tICdAZGNsL2Vjcy9kaXN0L3NlcmlhbGl6YXRpb24vQnl0ZUJ1ZmZlcidcbmltcG9ydCB7XG4gIENyZHRNZXNzYWdlSGVhZGVyLFxuICBDcmR0TWVzc2FnZVByb3RvY29sLFxuICBDcmR0TWVzc2FnZVR5cGUsXG4gIElFbmdpbmUsXG4gIFB1dENvbXBvbmVudE9wZXJhdGlvbixcbiAgUHV0TmV0d29ya0NvbXBvbmVudE9wZXJhdGlvbixcbiAgU3luY0NvbXBvbmVudHMgYXMgX1N5bmNDb21wb25lbnRzLFxuICBOZXR3b3JrRW50aXR5IGFzIF9OZXR3b3JrRW50aXR5LFxuICBJTmV0b3dya0VudGl0eSxcbiAgVmlkZW9FdmVudCxcbiAgQXVkaW9FdmVudCxcbiAgRW5naW5lSW5mbyxcbiAgR2x0ZkNvbnRhaW5lckxvYWRpbmdTdGF0ZSxcbiAgUG9pbnRlckV2ZW50c1Jlc3VsdCxcbiAgUmF5Y2FzdFJlc3VsdCxcbiAgUmVhbG1JbmZvLFxuICBUd2VlblN0YXRlLFxuICBVaURyb3Bkb3duLFxuICBVaURyb3Bkb3duUmVzdWx0LFxuICBVaUlucHV0LFxuICBVaUlucHV0UmVzdWx0LFxuICBVaVRleHQsXG4gIFVpVHJhbnNmb3JtXG59IGZyb20gJ0BkY2wvZWNzJ1xuaW1wb3J0IHsgTElWRUtJVF9NQVhfU0laRSB9IGZyb20gJ0BkY2wvZWNzL2Rpc3Qvc3lzdGVtcy9jcmR0J1xuXG5leHBvcnQgY29uc3QgTk9UX1NZTkNfQ09NUE9ORU5UUyA9IFtcbiAgVmlkZW9FdmVudCxcbiAgVHdlZW5TdGF0ZSxcbiAgQXVkaW9FdmVudCxcbiAgRW5naW5lSW5mbyxcbiAgR2x0ZkNvbnRhaW5lckxvYWRpbmdTdGF0ZSxcbiAgUG9pbnRlckV2ZW50c1Jlc3VsdCxcbiAgUmF5Y2FzdFJlc3VsdCxcbiAgUmVhbG1JbmZvLFxuICBVaURyb3Bkb3duLFxuICBVaURyb3Bkb3duUmVzdWx0LFxuICBVaUlucHV0LFxuICBVaUlucHV0UmVzdWx0LFxuICBVaVRyYW5zZm9ybSxcbiAgVWlUZXh0XG5dXG5cbmV4cG9ydCBjb25zdCBOT1RfU1lOQ19DT01QT05FTlRTX0lEUyA9IE5PVF9TWU5DX0NPTVBPTkVOVFMubWFwKCgkKSA9PiAkLmNvbXBvbmVudElkKVxuXG5leHBvcnQgZnVuY3Rpb24gZW5naW5lVG9DcmR0KGVuZ2luZTogSUVuZ2luZSk6IFVpbnQ4QXJyYXlbXSB7XG4gIGNvbnN0IGNyZHRCdWZmZXIgPSBuZXcgUmVhZFdyaXRlQnl0ZUJ1ZmZlcigpXG4gIGNvbnN0IG5ldHdvcmtCdWZmZXIgPSBuZXcgUmVhZFdyaXRlQnl0ZUJ1ZmZlcigpXG4gIGNvbnN0IE5ldHdvcmtFbnRpdHkgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KF9OZXR3b3JrRW50aXR5LmNvbXBvbmVudElkKSBhcyBJTmV0b3dya0VudGl0eVxuICBjb25zdCBjaHVua3M6IFVpbnQ4QXJyYXlbXSA9IFtdXG5cbiAgZm9yIChjb25zdCBpdENvbXBvbmVudERlZmluaXRpb24gb2YgZW5naW5lLmNvbXBvbmVudHNJdGVyKCkpIHtcbiAgICBpZiAoTk9UX1NZTkNfQ09NUE9ORU5UU19JRFMuaW5jbHVkZXMoaXRDb21wb25lbnREZWZpbml0aW9uLmNvbXBvbmVudElkKSkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaXRDb21wb25lbnREZWZpbml0aW9uLmR1bXBDcmR0U3RhdGVUb0J1ZmZlcihjcmR0QnVmZmVyLCAoZW50aXR5KSA9PiB7XG4gICAgICBjb25zdCBpc05ldHdvcmtFbnRpdHkgPSBOZXR3b3JrRW50aXR5LmhhcyhlbnRpdHkpXG4gICAgICByZXR1cm4gaXNOZXR3b3JrRW50aXR5XG4gICAgfSlcbiAgfVxuXG4gIGxldCBoZWFkZXI6IENyZHRNZXNzYWdlSGVhZGVyIHwgbnVsbFxuICB3aGlsZSAoKGhlYWRlciA9IENyZHRNZXNzYWdlUHJvdG9jb2wuZ2V0SGVhZGVyKGNyZHRCdWZmZXIpKSkge1xuICAgIGlmIChoZWFkZXIudHlwZSA9PT0gQ3JkdE1lc3NhZ2VUeXBlLlBVVF9DT01QT05FTlQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBQdXRDb21wb25lbnRPcGVyYXRpb24ucmVhZChjcmR0QnVmZmVyKSFcbiAgICAgIGNvbnN0IG5ldHdvcmtFbnRpdHkgPSBOZXR3b3JrRW50aXR5LmdldE9yTnVsbChtZXNzYWdlLmVudGl0eUlkKVxuXG4gICAgICAvLyBDaGVjayBpZiBhZGRpbmcgdGhpcyBtZXNzYWdlIHdvdWxkIGV4Y2VlZCB0aGUgc2l6ZSBsaW1pdFxuICAgICAgY29uc3QgY3VycmVudEJ1ZmZlclNpemUgPSBuZXR3b3JrQnVmZmVyLnRvQmluYXJ5KCkuYnl0ZUxlbmd0aFxuICAgICAgY29uc3QgbWVzc2FnZVNpemUgPSBtZXNzYWdlLmRhdGEuYnl0ZUxlbmd0aFxuXG4gICAgICBpZiAoKGN1cnJlbnRCdWZmZXJTaXplICsgbWVzc2FnZVNpemUpIC8gMTAyNCA+IExJVkVLSVRfTUFYX1NJWkUpIHtcbiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgYnVmZmVyIGhhcyBjb250ZW50LCBzYXZlIGl0IGFzIGEgY2h1bmtcbiAgICAgICAgaWYgKGN1cnJlbnRCdWZmZXJTaXplID4gMCkge1xuICAgICAgICAgIGNodW5rcy5wdXNoKG5ldHdvcmtCdWZmZXIudG9Db3BpZWRCaW5hcnkoKSlcbiAgICAgICAgICBuZXR3b3JrQnVmZmVyLnJlc2V0QnVmZmVyKClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBtZXNzYWdlIGl0c2VsZiBpcyBsYXJnZXIgdGhhbiB0aGUgbGltaXQsIHdlIG5lZWQgdG8gaGFuZGxlIGl0IHNwZWNpYWxseVxuICAgICAgICAvLyBGb3Igbm93LCB3ZSdsbCBza2lwIGl0IHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHNcbiAgICAgICAgaWYgKG1lc3NhZ2VTaXplIC8gMTAyNCA+IExJVkVLSVRfTUFYX1NJWkUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYE1lc3NhZ2UgdG9vIGxhcmdlICgke21lc3NhZ2VTaXplfSBieXRlcyksIHNraXBwaW5nIGNvbXBvbmVudCAke21lc3NhZ2UuY29tcG9uZW50SWR9IGZvciBlbnRpdHkgJHttZXNzYWdlLmVudGl0eUlkfWBcbiAgICAgICAgICApXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobmV0d29ya0VudGl0eSkge1xuICAgICAgICBQdXROZXR3b3JrQ29tcG9uZW50T3BlcmF0aW9uLndyaXRlKFxuICAgICAgICAgIG5ldHdvcmtFbnRpdHkuZW50aXR5SWQsXG4gICAgICAgICAgbWVzc2FnZS50aW1lc3RhbXAsXG4gICAgICAgICAgbWVzc2FnZS5jb21wb25lbnRJZCxcbiAgICAgICAgICBuZXR3b3JrRW50aXR5Lm5ldHdvcmtJZCxcbiAgICAgICAgICBtZXNzYWdlLmRhdGEsXG4gICAgICAgICAgbmV0d29ya0J1ZmZlclxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZHRCdWZmZXIuaW5jcmVtZW50UmVhZE9mZnNldChoZWFkZXIubGVuZ3RoKVxuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCBhbnkgcmVtYWluaW5nIGRhdGEgYXMgdGhlIGZpbmFsIGNodW5rXG4gIGlmIChuZXR3b3JrQnVmZmVyLmN1cnJlbnRXcml0ZU9mZnNldCgpID4gMCkge1xuICAgIGNodW5rcy5wdXNoKG5ldHdvcmtCdWZmZXIudG9CaW5hcnkoKSlcbiAgfVxuXG4gIHJldHVybiBjaHVua3Ncbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/sdk",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "7.15.
|
|
4
|
+
"version": "7.15.3-20090667358.commit-8e697e3",
|
|
5
5
|
"author": "Decentraland",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dcl/ecs": "7.15.
|
|
7
|
+
"@dcl/ecs": "7.15.3-20090667358.commit-8e697e3",
|
|
8
8
|
"@dcl/ecs-math": "2.1.0",
|
|
9
9
|
"@dcl/explorer": "1.0.164509-20240802172549.commit-fb95b9b",
|
|
10
|
-
"@dcl/js-runtime": "7.15.
|
|
11
|
-
"@dcl/react-ecs": "7.15.
|
|
12
|
-
"@dcl/sdk-commands": "7.15.
|
|
10
|
+
"@dcl/js-runtime": "7.15.3-20090667358.commit-8e697e3",
|
|
11
|
+
"@dcl/react-ecs": "7.15.3-20090667358.commit-8e697e3",
|
|
12
|
+
"@dcl/sdk-commands": "7.15.3-20090667358.commit-8e697e3",
|
|
13
13
|
"text-encoding": "0.7.0"
|
|
14
14
|
},
|
|
15
15
|
"keywords": [],
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
},
|
|
36
36
|
"types": "./index.d.ts",
|
|
37
37
|
"typings": "./index.d.ts",
|
|
38
|
-
"commit": "
|
|
38
|
+
"commit": "8e697e31e1234e1d00badc697f220ef8fe470486"
|
|
39
39
|
}
|
package/src/network/entities.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
ISyncComponents
|
|
12
12
|
} from '@dcl/ecs'
|
|
13
13
|
import { IProfile } from './message-bus-sync'
|
|
14
|
-
import {
|
|
14
|
+
import { NOT_SYNC_COMPONENTS } from './state'
|
|
15
15
|
|
|
16
16
|
export type SyncEntity = (entityId: Entity, componentIds: number[], entityEnumId?: number) => void
|
|
17
17
|
|
|
@@ -49,7 +49,7 @@ export function entityUtils(engine: IEngine, profile: IProfile) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
for (const component of
|
|
52
|
+
for (const component of NOT_SYNC_COMPONENTS) {
|
|
53
53
|
if (componentsIdsMutable.includes(component.componentId)) {
|
|
54
54
|
console.log(`⚠️ ${component.componentName} can't be sync through the network!`)
|
|
55
55
|
componentsIdsMutable = componentsIdsMutable.filter(($) => $ !== component.componentId)
|
package/src/network/filter.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
NetworkParent as _NetworkParent,
|
|
9
9
|
IEngine
|
|
10
10
|
} from '@dcl/ecs'
|
|
11
|
-
import {
|
|
11
|
+
import { NOT_SYNC_COMPONENTS_IDS } from './state'
|
|
12
12
|
|
|
13
13
|
export function syncFilter(engine: IEngine) {
|
|
14
14
|
const NetworkEntity = engine.getComponent(_NetworkEntity.componentId) as typeof _NetworkEntity
|
|
@@ -16,8 +16,8 @@ export function syncFilter(engine: IEngine) {
|
|
|
16
16
|
|
|
17
17
|
return function (message: Omit<TransportMessage, 'messageBuffer'>) {
|
|
18
18
|
const componentId = (message as any).componentId
|
|
19
|
-
|
|
20
|
-
if (
|
|
19
|
+
|
|
20
|
+
if (NOT_SYNC_COMPONENTS_IDS.includes(componentId)) {
|
|
21
21
|
return false
|
|
22
22
|
}
|
|
23
23
|
|
package/src/network/state.ts
CHANGED
|
@@ -22,12 +22,11 @@ import {
|
|
|
22
22
|
UiInput,
|
|
23
23
|
UiInputResult,
|
|
24
24
|
UiText,
|
|
25
|
-
UiTransform
|
|
26
|
-
ComponentDefinition
|
|
25
|
+
UiTransform
|
|
27
26
|
} from '@dcl/ecs'
|
|
28
27
|
import { LIVEKIT_MAX_SIZE } from '@dcl/ecs/dist/systems/crdt'
|
|
29
28
|
|
|
30
|
-
export const NOT_SYNC_COMPONENTS
|
|
29
|
+
export const NOT_SYNC_COMPONENTS = [
|
|
31
30
|
VideoEvent,
|
|
32
31
|
TweenState,
|
|
33
32
|
AudioEvent,
|
|
@@ -45,22 +44,6 @@ export const NOT_SYNC_COMPONENTS: ComponentDefinition<unknown>[] = [
|
|
|
45
44
|
]
|
|
46
45
|
|
|
47
46
|
export const NOT_SYNC_COMPONENTS_IDS = NOT_SYNC_COMPONENTS.map(($) => $.componentId)
|
|
48
|
-
export const NOT_SYNC_COMPONENTS_NAMES: string[] = [
|
|
49
|
-
'asset-packs::Script' // ComponentName from: https://github.com/decentraland/asset-packs/blob/main/src/enums.ts
|
|
50
|
-
]
|
|
51
|
-
|
|
52
|
-
export function shouldSyncComponent(component: ComponentDefinition<unknown>): boolean {
|
|
53
|
-
return !(
|
|
54
|
-
NOT_SYNC_COMPONENTS_IDS.includes(component.componentId) ||
|
|
55
|
-
NOT_SYNC_COMPONENTS_NAMES.includes(component.componentName)
|
|
56
|
-
)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function getDesyncedComponents(engine: IEngine): ComponentDefinition<unknown>[] {
|
|
60
|
-
return [...NOT_SYNC_COMPONENTS, ...NOT_SYNC_COMPONENTS_NAMES.map(($) => engine.getComponentOrNull($))].filter(
|
|
61
|
-
Boolean
|
|
62
|
-
) as ComponentDefinition<unknown>[]
|
|
63
|
-
}
|
|
64
47
|
|
|
65
48
|
export function engineToCrdt(engine: IEngine): Uint8Array[] {
|
|
66
49
|
const crdtBuffer = new ReadWriteByteBuffer()
|
|
@@ -69,7 +52,7 @@ export function engineToCrdt(engine: IEngine): Uint8Array[] {
|
|
|
69
52
|
const chunks: Uint8Array[] = []
|
|
70
53
|
|
|
71
54
|
for (const itComponentDefinition of engine.componentsIter()) {
|
|
72
|
-
if (
|
|
55
|
+
if (NOT_SYNC_COMPONENTS_IDS.includes(itComponentDefinition.componentId)) {
|
|
73
56
|
continue
|
|
74
57
|
}
|
|
75
58
|
itComponentDefinition.dumpCrdtStateToBuffer(crdtBuffer, (entity) => {
|