@caspertech/node-metaverse 0.6.26 → 0.7.1
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/lib/classes/BatchQueue.d.ts +10 -0
- package/dist/lib/classes/BatchQueue.js +105 -0
- package/dist/lib/classes/BatchQueue.js.map +1 -0
- package/dist/lib/classes/BatchQueue.spec.d.ts +5 -0
- package/dist/lib/classes/BatchQueue.spec.js +194 -0
- package/dist/lib/classes/BatchQueue.spec.js.map +1 -0
- package/dist/lib/classes/ConcurrentQueue.d.ts +9 -0
- package/dist/lib/classes/ConcurrentQueue.js +35 -0
- package/dist/lib/classes/ConcurrentQueue.js.map +1 -0
- package/dist/lib/classes/InventoryItem.js +2 -2
- package/dist/lib/classes/InventoryItem.js.map +1 -1
- package/dist/lib/classes/ObjectResolver.d.ts +9 -8
- package/dist/lib/classes/ObjectResolver.js +136 -269
- package/dist/lib/classes/ObjectResolver.js.map +1 -1
- package/dist/lib/classes/ObjectStoreLite.d.ts +2 -1
- package/dist/lib/classes/ObjectStoreLite.js +29 -39
- package/dist/lib/classes/ObjectStoreLite.js.map +1 -1
- package/dist/lib/classes/Utils.d.ts +1 -0
- package/dist/lib/classes/Utils.js +7 -0
- package/dist/lib/classes/Utils.js.map +1 -1
- package/dist/lib/classes/commands/RegionCommands.d.ts +4 -5
- package/dist/lib/classes/commands/RegionCommands.js +16 -19
- package/dist/lib/classes/commands/RegionCommands.js.map +1 -1
- package/dist/lib/classes/public/Avatar.js +1 -1
- package/dist/lib/classes/public/Avatar.js.map +1 -1
- package/dist/lib/classes/public/GameObject.js +5 -2
- package/dist/lib/classes/public/GameObject.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,142 +11,64 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ObjectResolver = void 0;
|
|
13
13
|
const __1 = require("..");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
14
|
+
const timers_1 = require("timers");
|
|
15
|
+
const BatchQueue_1 = require("./BatchQueue");
|
|
16
16
|
class ObjectResolver {
|
|
17
17
|
constructor(region) {
|
|
18
18
|
this.region = region;
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.maxConcurrency = 128;
|
|
22
|
-
this.currentlyRunning = false;
|
|
23
|
-
this.onObjectResolveRan = new rxjs_1.Subject();
|
|
19
|
+
this.resolveQueue = new BatchQueue_1.BatchQueue(256, this.resolveInternal.bind(this));
|
|
20
|
+
this.getCostsQueue = new BatchQueue_1.BatchQueue(256, this.getCostsInternal.bind(this));
|
|
24
21
|
}
|
|
25
22
|
resolveObjects(objects, options) {
|
|
26
|
-
|
|
23
|
+
var _a;
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
25
|
if (!this.region) {
|
|
28
|
-
|
|
29
|
-
return;
|
|
26
|
+
throw new Error('Region is going away');
|
|
30
27
|
}
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
const objs = {};
|
|
28
|
+
const objs = new Map();
|
|
34
29
|
const failed = [];
|
|
35
30
|
for (const obj of objects) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
const queueObject = (id) => {
|
|
40
|
-
if (this.objectsInQueue[id] === undefined) {
|
|
41
|
-
this.objectsInQueue[id] = {
|
|
42
|
-
object: objs[id],
|
|
43
|
-
options
|
|
44
|
-
};
|
|
45
|
-
this.queue.push(id);
|
|
46
|
-
}
|
|
47
|
-
else if (this.objectsInQueue[id].options.skipInventory && !options.skipInventory) {
|
|
48
|
-
this.objectsInQueue[id].options.skipInventory = false;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const skipped = [];
|
|
52
|
-
for (const obj of Object.keys(objs)) {
|
|
53
|
-
const id = parseInt(obj, 10);
|
|
54
|
-
const gameObject = objs[id];
|
|
55
|
-
if (options.outputLog === true) {
|
|
56
|
-
}
|
|
57
|
-
if (!options.onlyUnresolved || gameObject.resolvedAt === undefined || gameObject.resolvedAt === 0 || (!options.skipInventory && !gameObject.resolvedInventory)) {
|
|
58
|
-
if (!options.onlyUnresolved) {
|
|
59
|
-
gameObject.resolvedAt = 0;
|
|
60
|
-
gameObject.resolveAttempts = 0;
|
|
61
|
-
}
|
|
62
|
-
queueObject(id);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
skipped.push(id);
|
|
31
|
+
if (!options.includeTempObjects && (((_a = obj.Flags) !== null && _a !== void 0 ? _a : 0) & __1.PrimFlags.TemporaryOnRez)) {
|
|
32
|
+
continue;
|
|
66
33
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
delete objs[id];
|
|
70
|
-
if (options.outputLog === true) {
|
|
34
|
+
if (!options.includeAvatars && obj.PCode === __1.PCode.Avatar) {
|
|
35
|
+
continue;
|
|
71
36
|
}
|
|
37
|
+
this.region.objects.populateChildren(obj);
|
|
38
|
+
this.scanObject(obj, objs);
|
|
72
39
|
}
|
|
73
|
-
if (
|
|
74
|
-
|
|
75
|
-
return;
|
|
40
|
+
if (objs.size === 0) {
|
|
41
|
+
return failed;
|
|
76
42
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (obj.
|
|
89
|
-
|
|
90
|
-
done = true;
|
|
91
|
-
}
|
|
92
|
-
if (done) {
|
|
93
|
-
delete objs[obj.ID];
|
|
94
|
-
if (Object.keys(objs).length === 0) {
|
|
95
|
-
if (objResolve !== undefined) {
|
|
96
|
-
objResolve.unsubscribe();
|
|
97
|
-
objResolve = undefined;
|
|
98
|
-
}
|
|
99
|
-
if (objProps !== undefined) {
|
|
100
|
-
objProps.unsubscribe();
|
|
101
|
-
objProps = undefined;
|
|
102
|
-
}
|
|
103
|
-
resolve(failed);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return done;
|
|
107
|
-
};
|
|
108
|
-
objResolve = this.onObjectResolveRan.subscribe((obj) => {
|
|
109
|
-
if (objs[obj.ID] !== undefined) {
|
|
110
|
-
if (options.outputLog === true) {
|
|
111
|
-
}
|
|
112
|
-
if (!checkObject(obj)) {
|
|
113
|
-
if (options.outputLog === true) {
|
|
114
|
-
}
|
|
115
|
-
setTimeout(() => {
|
|
116
|
-
if (!checkObject(obj)) {
|
|
117
|
-
if (options.outputLog) {
|
|
118
|
-
}
|
|
119
|
-
queueObject(obj.ID);
|
|
120
|
-
this.run().then(() => {
|
|
121
|
-
}).catch((err) => {
|
|
122
|
-
console.error(err);
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}, 10000);
|
|
126
|
-
}
|
|
43
|
+
return this.resolveQueue.add(Array.from(objs.values()));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
getInventory(object) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
yield this.getInventories([object]);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
getInventories(objects) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
for (const obj of objects) {
|
|
54
|
+
if (!obj.resolvedInventory) {
|
|
55
|
+
yield obj.updateInventory();
|
|
127
56
|
}
|
|
128
|
-
});
|
|
129
|
-
if (!this.region) {
|
|
130
|
-
return;
|
|
131
57
|
}
|
|
132
|
-
objProps = this.region.clientEvents.onObjectResolvedEvent.subscribe((obj) => {
|
|
133
|
-
if (objs[obj.object.ID] !== undefined) {
|
|
134
|
-
if (options.outputLog) {
|
|
135
|
-
}
|
|
136
|
-
if (!checkObject(obj.object)) {
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
this.run().then(() => {
|
|
141
|
-
}).catch((err) => {
|
|
142
|
-
console.error(err);
|
|
143
|
-
});
|
|
144
58
|
});
|
|
145
59
|
}
|
|
60
|
+
getCosts(objects) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
yield this.getCostsQueue.add(objects);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
shutdown() {
|
|
66
|
+
delete this.region;
|
|
67
|
+
}
|
|
146
68
|
scanObject(obj, map) {
|
|
147
69
|
const localID = obj.ID;
|
|
148
|
-
if (!map
|
|
149
|
-
map
|
|
70
|
+
if (!map.has(localID)) {
|
|
71
|
+
map.set(localID, obj);
|
|
150
72
|
if (obj.children) {
|
|
151
73
|
for (const child of obj.children) {
|
|
152
74
|
this.scanObject(child, map);
|
|
@@ -154,185 +76,130 @@ class ObjectResolver {
|
|
|
154
76
|
}
|
|
155
77
|
}
|
|
156
78
|
}
|
|
157
|
-
|
|
79
|
+
resolveInternal(objs) {
|
|
158
80
|
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
-
if (this.
|
|
160
|
-
|
|
81
|
+
if (!this.region) {
|
|
82
|
+
throw new Error('Region went away');
|
|
161
83
|
}
|
|
84
|
+
const objArray = Array.from(objs.values());
|
|
162
85
|
try {
|
|
163
|
-
|
|
164
|
-
const jobs = [];
|
|
165
|
-
for (let x = 0; x < this.maxConcurrency && this.queue.length > 0; x++) {
|
|
166
|
-
const objectID = this.queue.shift();
|
|
167
|
-
if (objectID !== undefined) {
|
|
168
|
-
jobs.push(this.objectsInQueue[objectID]);
|
|
169
|
-
delete this.objectsInQueue[objectID];
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
yield this.doResolve(jobs);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
console.error(error);
|
|
86
|
+
yield this.region.clientCommands.region.selectObjects(objArray);
|
|
177
87
|
}
|
|
178
88
|
finally {
|
|
179
|
-
this.
|
|
89
|
+
yield this.region.clientCommands.region.deselectObjects(objArray);
|
|
180
90
|
}
|
|
181
|
-
if (this.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
91
|
+
if (!this.region) {
|
|
92
|
+
throw new Error('Region went away');
|
|
93
|
+
}
|
|
94
|
+
const objects = new Map();
|
|
95
|
+
for (const obj of objs.values()) {
|
|
96
|
+
objects.set(obj.ID, obj);
|
|
97
|
+
}
|
|
98
|
+
for (let x = 0; x < 3; x++) {
|
|
99
|
+
try {
|
|
100
|
+
yield this.waitForResolve(objects, 10000);
|
|
101
|
+
}
|
|
102
|
+
catch (_e) {
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const failed = new Set();
|
|
106
|
+
for (const o of objects.values()) {
|
|
107
|
+
failed.add(o);
|
|
186
108
|
}
|
|
109
|
+
return failed;
|
|
187
110
|
});
|
|
188
111
|
}
|
|
189
|
-
|
|
190
|
-
var _a;
|
|
112
|
+
getCostsInternal(objs) {
|
|
191
113
|
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
-
|
|
193
|
-
|
|
114
|
+
const failed = new Set();
|
|
115
|
+
const submitted = new Map();
|
|
116
|
+
for (const obj of objs.values()) {
|
|
117
|
+
submitted.set(obj.FullID.toString(), obj);
|
|
194
118
|
}
|
|
195
|
-
const resolveTime = new Date().getTime() / 1000;
|
|
196
|
-
const objectList = [];
|
|
197
|
-
let totalRemaining = 0;
|
|
198
119
|
try {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
objectList.push(job.object);
|
|
202
|
-
totalRemaining++;
|
|
203
|
-
}
|
|
120
|
+
if (!this.region) {
|
|
121
|
+
return objs;
|
|
204
122
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
for (const chk of objectList) {
|
|
215
|
-
if (chk.resolvedAt !== undefined && chk.resolvedAt >= resolveTime) {
|
|
216
|
-
totalRemaining--;
|
|
123
|
+
const result = yield this.region.caps.capsPostXML('GetObjectCost', {
|
|
124
|
+
'object_ids': Array.from(submitted.keys())
|
|
125
|
+
});
|
|
126
|
+
const uuids = Object.keys(result);
|
|
127
|
+
for (const key of uuids) {
|
|
128
|
+
const costs = result[key];
|
|
129
|
+
try {
|
|
130
|
+
if (!this.region) {
|
|
131
|
+
continue;
|
|
217
132
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (job.options.outputLog) {
|
|
228
|
-
}
|
|
229
|
-
try {
|
|
230
|
-
yield o.updateInventory();
|
|
231
|
-
}
|
|
232
|
-
catch (error) {
|
|
233
|
-
if (o.resolveAttempts === undefined) {
|
|
234
|
-
o.resolveAttempts = 0;
|
|
235
|
-
}
|
|
236
|
-
o.resolveAttempts++;
|
|
237
|
-
if (o.FullID !== undefined) {
|
|
238
|
-
console.error('Error downloading task inventory of ' + o.FullID.toString() + ':');
|
|
239
|
-
console.error(error);
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
console.error('Error downloading task inventory of ' + o.ID + ':');
|
|
243
|
-
console.error(error);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
133
|
+
const obj = this.region.objects.getObjectByUUID(new __1.UUID(key));
|
|
134
|
+
obj.linkPhysicsImpact = parseFloat(costs['linked_set_physics_cost']);
|
|
135
|
+
obj.linkResourceImpact = parseFloat(costs['linked_set_resource_cost']);
|
|
136
|
+
obj.physicaImpact = parseFloat(costs['physics_cost']);
|
|
137
|
+
obj.resourceImpact = parseFloat(costs['resource_cost']);
|
|
138
|
+
obj.limitingType = costs['resource_limiting_type'];
|
|
139
|
+
obj.landImpact = Math.round(obj.linkPhysicsImpact);
|
|
140
|
+
if (obj.linkResourceImpact > obj.linkPhysicsImpact) {
|
|
141
|
+
obj.landImpact = Math.round(obj.linkResourceImpact);
|
|
246
142
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
143
|
+
obj.calculatedLandImpact = obj.landImpact;
|
|
144
|
+
if (obj.Flags !== undefined && obj.Flags & __1.PrimFlags.TemporaryOnRez && obj.limitingType === 'legacy') {
|
|
145
|
+
obj.calculatedLandImpact = 0;
|
|
250
146
|
}
|
|
251
|
-
|
|
147
|
+
submitted.delete(key);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
252
150
|
}
|
|
253
151
|
}
|
|
254
152
|
}
|
|
255
|
-
catch (
|
|
256
|
-
console.error(ignore);
|
|
153
|
+
catch (error) {
|
|
257
154
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
155
|
+
for (const go of submitted.values()) {
|
|
156
|
+
failed.add(go);
|
|
157
|
+
}
|
|
158
|
+
return failed;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
waitForResolve(objs, timeout = 10000) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
const entries = objs.entries();
|
|
164
|
+
for (const [localID, entry] of entries) {
|
|
165
|
+
if (entry.resolvedAt !== undefined) {
|
|
166
|
+
objs.delete(localID);
|
|
269
167
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
const obj = that.region.objects.getObjectByUUID(new __1.UUID(key));
|
|
288
|
-
obj.linkPhysicsImpact = parseFloat(costs['linked_set_physics_cost']);
|
|
289
|
-
obj.linkResourceImpact = parseFloat(costs['linked_set_resource_cost']);
|
|
290
|
-
obj.physicaImpact = parseFloat(costs['physics_cost']);
|
|
291
|
-
obj.resourceImpact = parseFloat(costs['resource_cost']);
|
|
292
|
-
obj.limitingType = costs['resource_limiting_type'];
|
|
293
|
-
obj.landImpact = Math.round(obj.linkPhysicsImpact);
|
|
294
|
-
if (obj.linkResourceImpact > obj.linkPhysicsImpact) {
|
|
295
|
-
obj.landImpact = Math.round(obj.linkResourceImpact);
|
|
296
|
-
}
|
|
297
|
-
obj.calculatedLandImpact = obj.landImpact;
|
|
298
|
-
if (obj.Flags !== undefined && obj.Flags & __1.PrimFlags.TemporaryOnRez && obj.limitingType === 'legacy') {
|
|
299
|
-
obj.calculatedLandImpact = 0;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
catch (error) {
|
|
303
|
-
}
|
|
304
|
-
}
|
|
168
|
+
}
|
|
169
|
+
if (objs.size === 0) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
return new Promise((resolve, reject) => {
|
|
173
|
+
if (!this.region) {
|
|
174
|
+
reject(new Error('Region went away'));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
let subs = undefined;
|
|
178
|
+
let timer = undefined;
|
|
179
|
+
subs = this.region.clientEvents.onObjectResolvedEvent.subscribe((obj) => {
|
|
180
|
+
objs.delete(obj.object.ID);
|
|
181
|
+
if (objs.size === 0) {
|
|
182
|
+
if (timer !== undefined) {
|
|
183
|
+
(0, timers_1.clearTimeout)(timer);
|
|
184
|
+
timer = undefined;
|
|
305
185
|
}
|
|
306
|
-
|
|
186
|
+
if (subs !== undefined) {
|
|
187
|
+
subs.unsubscribe();
|
|
188
|
+
subs = undefined;
|
|
307
189
|
}
|
|
308
|
-
|
|
309
|
-
};
|
|
310
|
-
let ids = [];
|
|
311
|
-
const promises = [];
|
|
312
|
-
for (const job of jobs) {
|
|
313
|
-
if (job.object.landImpact === undefined) {
|
|
314
|
-
ids.push(new LLSD.UUID(job.object.FullID));
|
|
315
|
-
}
|
|
316
|
-
if (ids.length > 255) {
|
|
317
|
-
promises.push(getCosts(ids));
|
|
318
|
-
ids = [];
|
|
190
|
+
resolve();
|
|
319
191
|
}
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
for (const job of jobs) {
|
|
326
|
-
if (job.options.outputLog) {
|
|
192
|
+
});
|
|
193
|
+
timer = setTimeout(() => {
|
|
194
|
+
if (subs !== undefined) {
|
|
195
|
+
subs.unsubscribe();
|
|
196
|
+
subs = undefined;
|
|
327
197
|
}
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
}
|
|
198
|
+
reject(new Error('Timeout'));
|
|
199
|
+
}, timeout);
|
|
200
|
+
});
|
|
331
201
|
});
|
|
332
202
|
}
|
|
333
|
-
shutdown() {
|
|
334
|
-
delete this.region;
|
|
335
|
-
}
|
|
336
203
|
}
|
|
337
204
|
exports.ObjectResolver = ObjectResolver;
|
|
338
205
|
//# sourceMappingURL=ObjectResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectResolver.js","sourceRoot":"","sources":["../../../lib/classes/ObjectResolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ObjectResolver.js","sourceRoot":"","sources":["../../../lib/classes/ObjectResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ export declare class ObjectStoreLite implements IObjectStore {
|
|
|
61
61
|
private selectedPrimsWithoutUpdate;
|
|
62
62
|
private selectedChecker?;
|
|
63
63
|
private blacklist;
|
|
64
|
+
private pendingResolves;
|
|
64
65
|
rtree?: RBush3D;
|
|
65
66
|
constructor(circuit: Circuit, agent: Agent, clientEvents: ClientEvents, options: BotOptionFlags);
|
|
66
67
|
private applyObjectProperties;
|
|
@@ -68,7 +69,7 @@ export declare class ObjectStoreLite implements IObjectStore {
|
|
|
68
69
|
protected objectUpdate(objectUpdate: ObjectUpdateMessage): void;
|
|
69
70
|
protected notifyTerseUpdate(obj: GameObject): void;
|
|
70
71
|
protected notifyObjectUpdate(newObject: boolean, obj: GameObject): void;
|
|
71
|
-
|
|
72
|
+
pendingResolve(id: number): void;
|
|
72
73
|
protected objectUpdateCached(objectUpdateCached: ObjectUpdateCachedMessage): void;
|
|
73
74
|
protected objectUpdateCompressed(objectUpdateCompressed: ObjectUpdateCompressedMessage): void;
|
|
74
75
|
protected decodeAttachPoint(state: number): number;
|
|
@@ -49,6 +49,7 @@ class ObjectStoreLite {
|
|
|
49
49
|
this.pendingObjectProperties = new Map;
|
|
50
50
|
this.selectedPrimsWithoutUpdate = new Map();
|
|
51
51
|
this.blacklist = new Map();
|
|
52
|
+
this.pendingResolves = new Set();
|
|
52
53
|
agent.localID = 0;
|
|
53
54
|
this.options = options;
|
|
54
55
|
this.fullStore = false;
|
|
@@ -318,12 +319,6 @@ class ObjectStoreLite {
|
|
|
318
319
|
this.clientEvents.onSelectedObjectEvent.next(evt);
|
|
319
320
|
}
|
|
320
321
|
}
|
|
321
|
-
if (o.ParentID !== undefined) {
|
|
322
|
-
const parent = this.objects.get(o.ParentID);
|
|
323
|
-
if (parent !== undefined && parent.PCode === PCode_1.PCode.Avatar) {
|
|
324
|
-
this.checkAttachToAvatar(o);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
322
|
}
|
|
328
323
|
requestMissingObject(localID, attempt = 0) {
|
|
329
324
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -539,7 +534,31 @@ class ObjectStoreLite {
|
|
|
539
534
|
const parentObj = this.objects.get((_a = obj.ParentID) !== null && _a !== void 0 ? _a : 0);
|
|
540
535
|
if (obj.ParentID === 0 || (obj.ParentID !== undefined && parentObj !== undefined && parentObj.PCode === PCode_1.PCode.Avatar)) {
|
|
541
536
|
if (newObject) {
|
|
542
|
-
|
|
537
|
+
if (obj.IsAttachment && obj.ParentID !== undefined) {
|
|
538
|
+
if (parentObj !== undefined && parentObj.PCode === PCode_1.PCode.Avatar) {
|
|
539
|
+
const avatar = this.agent.currentRegion.agents[parentObj.FullID.toString()];
|
|
540
|
+
let invItemID = UUID_1.UUID.zero();
|
|
541
|
+
if (obj.NameValue['AttachItemID']) {
|
|
542
|
+
invItemID = new UUID_1.UUID(obj.NameValue['AttachItemID'].value);
|
|
543
|
+
}
|
|
544
|
+
this.agent.currentRegion.clientCommands.region.resolveObject(obj, {}).then(() => {
|
|
545
|
+
try {
|
|
546
|
+
if (obj.itemID === undefined) {
|
|
547
|
+
obj.itemID = UUID_1.UUID.zero();
|
|
548
|
+
}
|
|
549
|
+
obj.itemID = invItemID;
|
|
550
|
+
if (avatar !== undefined) {
|
|
551
|
+
avatar.addAttachment(obj);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
catch (err) {
|
|
555
|
+
console.error(err);
|
|
556
|
+
}
|
|
557
|
+
}).catch(() => {
|
|
558
|
+
console.error('Failed to resolve new avatar attachment');
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
}
|
|
543
562
|
const newObj = new NewObjectEvent_1.NewObjectEvent();
|
|
544
563
|
newObj.localID = obj.ID;
|
|
545
564
|
newObj.objectID = obj.FullID;
|
|
@@ -560,42 +579,13 @@ class ObjectStoreLite {
|
|
|
560
579
|
}
|
|
561
580
|
const pendingProp = this.pendingObjectProperties.get(obj.FullID.toString());
|
|
562
581
|
if (pendingProp) {
|
|
563
|
-
this.pendingObjectProperties.delete(obj.FullID.toString());
|
|
564
582
|
this.applyObjectProperties(obj, pendingProp);
|
|
583
|
+
this.pendingObjectProperties.delete(obj.FullID.toString());
|
|
565
584
|
}
|
|
566
585
|
}
|
|
567
586
|
}
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
const parentObj = this.objects.get(obj.ParentID);
|
|
571
|
-
if (parentObj !== undefined && parentObj.PCode === PCode_1.PCode.Avatar) {
|
|
572
|
-
const avatar = this.agent.currentRegion.agents[parentObj.FullID.toString()];
|
|
573
|
-
let invItemID = UUID_1.UUID.zero();
|
|
574
|
-
if (obj.NameValue['AttachItemID']) {
|
|
575
|
-
invItemID = new UUID_1.UUID(obj.NameValue['AttachItemID'].value);
|
|
576
|
-
}
|
|
577
|
-
try {
|
|
578
|
-
if (avatar.getAttachment(invItemID)) {
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
catch (e) {
|
|
583
|
-
}
|
|
584
|
-
this.agent.currentRegion.clientCommands.region.resolveObject(obj, true, false).then(() => {
|
|
585
|
-
try {
|
|
586
|
-
obj.itemID = invItemID;
|
|
587
|
-
if (avatar !== undefined) {
|
|
588
|
-
avatar.addAttachment(obj);
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
catch (err) {
|
|
592
|
-
console.error(err);
|
|
593
|
-
}
|
|
594
|
-
}).catch(() => {
|
|
595
|
-
console.error('Failed to resolve new avatar attachment');
|
|
596
|
-
});
|
|
597
|
-
}
|
|
598
|
-
}
|
|
587
|
+
pendingResolve(id) {
|
|
588
|
+
this.pendingResolves.add(id);
|
|
599
589
|
}
|
|
600
590
|
objectUpdateCached(objectUpdateCached) {
|
|
601
591
|
if (this.circuit === undefined) {
|