Only get properties at export time if we don't already have them

This commit is contained in:
Casper Warden
2023-11-21 17:51:49 +00:00
parent 3873164475
commit c7ea62755b
4 changed files with 26 additions and 6 deletions

View File

@@ -398,6 +398,17 @@ export class RegionCommands extends CommandsBase
return this.currentRegion.resolver.getInventories(objects); return this.currentRegion.resolver.getInventories(objects);
} }
public async fetchObjectCost(object: GameObject): Promise<void>
{
return this.currentRegion.resolver.getCosts([object]);
}
public async fetchObjectCosts(objects: GameObject[]): Promise<void>
{
return this.currentRegion.resolver.getCosts(objects);
}
private waitForObjectByLocalID(localID: number, timeout: number): Promise<GameObject> private waitForObjectByLocalID(localID: number, timeout: number): Promise<GameObject>
{ {
return new Promise<GameObject>((resolve, reject) => return new Promise<GameObject>((resolve, reject) =>

View File

@@ -1515,9 +1515,18 @@ export class GameObject implements IGameObjectData
const resolver = this.region?.resolver; const resolver = this.region?.resolver;
if (resolver) if (resolver)
{ {
await resolver.resolveObjects([this], { includeTempObjects: true }); if (this.resolvedAt === undefined)
await resolver.getInventory(this); {
await resolver.getCosts([this]); await resolver.resolveObjects([this], { includeTempObjects: true });
}
if (!this.resolvedInventory)
{
await resolver.getInventory(this);
}
if (this.calculatedLandImpact === undefined)
{
await resolver.getCosts([this]);
}
} }
let root = xml; let root = xml;

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@caspertech/node-metaverse", "name": "@caspertech/node-metaverse",
"version": "0.7.4", "version": "0.7.5",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@caspertech/node-metaverse", "name": "@caspertech/node-metaverse",
"version": "0.7.4", "version": "0.7.5",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@caspertech/llsd": "^1.0.5", "@caspertech/llsd": "^1.0.5",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@caspertech/node-metaverse", "name": "@caspertech/node-metaverse",
"version": "0.7.4", "version": "0.7.5",
"description": "A node.js interface for Second Life.", "description": "A node.js interface for Second Life.",
"main": "dist/lib/index.js", "main": "dist/lib/index.js",
"types": "dist/lib/index.d.ts", "types": "dist/lib/index.d.ts",