Fix some issues with object processing
This commit is contained in:
@@ -89,6 +89,7 @@ export class ObjectStoreLite implements IObjectStore
|
|||||||
private physicsSubscription: Subscription;
|
private physicsSubscription: Subscription;
|
||||||
private selectedPrimsWithoutUpdate = new Map<number, boolean>();
|
private selectedPrimsWithoutUpdate = new Map<number, boolean>();
|
||||||
private selectedChecker?: Timer;
|
private selectedChecker?: Timer;
|
||||||
|
private blacklist: Map<number, Date> = new Map<number, Date>();
|
||||||
|
|
||||||
rtree?: RBush3D;
|
rtree?: RBush3D;
|
||||||
|
|
||||||
@@ -455,6 +456,19 @@ export class ObjectStoreLite implements IObjectStore
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.requestedObjects.add(localID);
|
this.requestedObjects.add(localID);
|
||||||
|
const black = this.blacklist.get(localID);
|
||||||
|
if (black !== undefined)
|
||||||
|
{
|
||||||
|
const thirtyMinutesAgo = new Date(new Date().getTime() - 30 * 60000);
|
||||||
|
if (black >= thirtyMinutesAgo)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.blacklist.delete(localID);
|
||||||
|
}
|
||||||
|
}
|
||||||
const rmo = new RequestMultipleObjectsMessage();
|
const rmo = new RequestMultipleObjectsMessage();
|
||||||
rmo.AgentData = {
|
rmo.AgentData = {
|
||||||
AgentID: this.agent.agentID,
|
AgentID: this.agent.agentID,
|
||||||
@@ -507,8 +521,8 @@ export class ObjectStoreLite implements IObjectStore
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this.blacklist.set(localID, new Date());
|
||||||
console.error('Error retrieving missing object after 5 attempts: ' + localID);
|
console.error('Error retrieving missing object after 5 attempts: ' + localID);
|
||||||
console.error(error);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|||||||
@@ -1614,7 +1614,7 @@ export class RegionCommands extends CommandsBase
|
|||||||
if (resolve)
|
if (resolve)
|
||||||
{
|
{
|
||||||
const resolver = new ObjectResolver(this.currentRegion);
|
const resolver = new ObjectResolver(this.currentRegion);
|
||||||
await resolver.resolveObjects(objs, onlyUnresolved, skipInventory, outputLog);
|
await resolver.resolveObjects(objs, !onlyUnresolved, skipInventory, outputLog);
|
||||||
}
|
}
|
||||||
return objs;
|
return objs;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ export class Parcel
|
|||||||
{
|
{
|
||||||
const document = builder.create('LandData');
|
const document = builder.create('LandData');
|
||||||
document.ele('Area', this.Area);
|
document.ele('Area', this.Area);
|
||||||
document.ele('AuctionID', this.AuctionID);
|
document.ele('AuctionID', this.AuctionID ?? 0);
|
||||||
document.ele('AuthBuyerID', this.AuthBuyerID.toString());
|
document.ele('AuthBuyerID', this.AuthBuyerID.toString());
|
||||||
document.ele('Category', this.Category);
|
document.ele('Category', this.Category);
|
||||||
document.ele('ClaimDate', this.ClaimDate);
|
document.ele('ClaimDate', this.ClaimDate);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@caspertech/node-metaverse",
|
"name": "@caspertech/node-metaverse",
|
||||||
"version": "0.6.8",
|
"version": "0.6.9",
|
||||||
"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",
|
||||||
|
|||||||
Reference in New Issue
Block a user