You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 15:06:20 +00:00
Expose room, user and furni metadata for wired tools
- parse extra room snapshot data such as hotel time, room item limit and group context - expose richer furni metadata including flags, dimensions and teleport targets - expose richer user metadata including room-entry fields and ids needed by inspection tools - keep session and room engine models aligned with the new wired monitor/inspection flow
This commit is contained in:
@@ -819,6 +819,13 @@ export class RoomEngine implements IRoomEngine, IRoomCreator, IRoomEngineService
|
||||
model.setValue(RoomObjectVariable.FURNITURE_USAGE_POLICY, data.usagePolicy);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_OWNER_ID, data.ownerId);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_OWNER_NAME, data.ownerName);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_STACK, data.allowStack ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_SIT, data.allowSit ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_LAY, data.allowLay ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_WALK, data.allowWalk ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_DIMENSIONS_X, data.dimensionsX);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_DIMENSIONS_Y, data.dimensionsY);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_TELEPORT_TARGET_ID, data.teleportTargetId);
|
||||
}
|
||||
|
||||
if(!this.updateRoomObjectFloor(roomId, id, data.location, data.direction, data.state, data.data, data.extra)) return false;
|
||||
@@ -879,6 +886,13 @@ export class RoomEngine implements IRoomEngine, IRoomCreator, IRoomEngineService
|
||||
model.setValue(RoomObjectVariable.FURNITURE_USAGE_POLICY, data.usagePolicy);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_OWNER_ID, data.ownerId);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_OWNER_NAME, data.ownerName);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_STACK, data.allowStack ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_SIT, data.allowSit ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_LAY, data.allowLay ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_ALLOW_WALK, data.allowWalk ? 1 : 0);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_DIMENSIONS_X, data.dimensionsX);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_DIMENSIONS_Y, data.dimensionsY);
|
||||
model.setValue(RoomObjectVariable.FURNITURE_TELEPORT_TARGET_ID, data.teleportTargetId);
|
||||
}
|
||||
|
||||
if(!this.updateRoomObjectWall(roomId, id, data.location, data.direction, data.state, extra)) return false;
|
||||
@@ -1667,33 +1681,33 @@ export class RoomEngine implements IRoomEngine, IRoomCreator, IRoomEngineService
|
||||
if(GetEventDispatcher()) GetEventDispatcher().dispatchEvent(new RoomEngineObjectEvent(RoomEngineObjectEvent.REMOVED, roomId, objectId, category));
|
||||
}
|
||||
|
||||
public addFurnitureFloor(roomId: number, id: number, typeId: number, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra: number = NaN, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', synchronized: boolean = true, realRoomObject: boolean = true, sizeZ: number = -1): boolean
|
||||
public addFurnitureFloor(roomId: number, id: number, typeId: number, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra: number = NaN, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', synchronized: boolean = true, realRoomObject: boolean = true, sizeZ: number = -1, allowStack: boolean = false, allowSit: boolean = false, allowLay: boolean = false, allowWalk: boolean = false, dimensionsX: number = 0, dimensionsY: number = 0, teleportTargetId: number = 0): boolean
|
||||
{
|
||||
const instanceData = this.getRoomInstanceData(roomId);
|
||||
|
||||
if(!instanceData) return false;
|
||||
|
||||
const furnitureData = new RoomFurnitureData(id, typeId, null, location, direction, state, objectData, extra, expires, usagePolicy, ownerId, ownerName, synchronized, realRoomObject, sizeZ);
|
||||
const furnitureData = new RoomFurnitureData(id, typeId, null, location, direction, state, objectData, extra, expires, usagePolicy, ownerId, ownerName, synchronized, realRoomObject, sizeZ, allowStack, allowSit, allowLay, allowWalk, dimensionsX, dimensionsY, teleportTargetId);
|
||||
|
||||
instanceData.addPendingFurnitureFloor(furnitureData);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public addFurnitureFloorByTypeName(roomId: number, id: number, typeName: string, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra: number = NaN, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', synchronized: boolean = true, realRoomObject: boolean = true, sizeZ: number = -1): boolean
|
||||
public addFurnitureFloorByTypeName(roomId: number, id: number, typeName: string, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra: number = NaN, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', synchronized: boolean = true, realRoomObject: boolean = true, sizeZ: number = -1, allowStack: boolean = false, allowSit: boolean = false, allowLay: boolean = false, allowWalk: boolean = false, dimensionsX: number = 0, dimensionsY: number = 0, teleportTargetId: number = 0): boolean
|
||||
{
|
||||
const instanceData = this.getRoomInstanceData(roomId);
|
||||
|
||||
if(!instanceData) return false;
|
||||
|
||||
const furnitureData = new RoomFurnitureData(id, 0, typeName, location, direction, state, objectData, extra, expires, usagePolicy, ownerId, ownerName, synchronized, realRoomObject, sizeZ);
|
||||
const furnitureData = new RoomFurnitureData(id, 0, typeName, location, direction, state, objectData, extra, expires, usagePolicy, ownerId, ownerName, synchronized, realRoomObject, sizeZ, allowStack, allowSit, allowLay, allowWalk, dimensionsX, dimensionsY, teleportTargetId);
|
||||
|
||||
instanceData.addPendingFurnitureFloor(furnitureData);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public addFurnitureWall(roomId: number, id: number, typeId: number, location: IVector3D, direction: IVector3D, state: number, extra: string, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', realRoomObject: boolean = true): boolean
|
||||
public addFurnitureWall(roomId: number, id: number, typeId: number, location: IVector3D, direction: IVector3D, state: number, extra: string, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', realRoomObject: boolean = true, allowStack: boolean = false, allowSit: boolean = false, allowLay: boolean = false, allowWalk: boolean = false, dimensionsX: number = 0, dimensionsY: number = 0, teleportTargetId: number = 0): boolean
|
||||
{
|
||||
const instanceData = this.getRoomInstanceData(roomId);
|
||||
|
||||
@@ -1703,7 +1717,7 @@ export class RoomEngine implements IRoomEngine, IRoomCreator, IRoomEngineService
|
||||
|
||||
objectData.setString(extra);
|
||||
|
||||
const furnitureData = new RoomFurnitureData(id, typeId, null, location, direction, state, objectData, NaN, expires, usagePolicy, ownerId, ownerName, true, realRoomObject);
|
||||
const furnitureData = new RoomFurnitureData(id, typeId, null, location, direction, state, objectData, NaN, expires, usagePolicy, ownerId, ownerName, true, realRoomObject, -1, allowStack, allowSit, allowLay, allowWalk, dimensionsX, dimensionsY, teleportTargetId);
|
||||
|
||||
instanceData.addPendingFurnitureWall(furnitureData);
|
||||
|
||||
|
||||
@@ -1167,11 +1167,11 @@ export class RoomMessageHandler
|
||||
|
||||
if(data.spriteName)
|
||||
{
|
||||
this._roomEngine.addFurnitureFloorByTypeName(roomId, data.itemId, data.spriteName, location, direction, data.state, data.data, data.extra, data.expires, data.usagePolicy, data.userId, data.username, true, true, data.stackHeight);
|
||||
this._roomEngine.addFurnitureFloorByTypeName(roomId, data.itemId, data.spriteName, location, direction, data.state, data.data, data.extra, data.expires, data.usagePolicy, data.userId, data.username, true, true, data.stackHeight, data.allowStack, data.allowSit, data.allowLay, data.allowWalk, data.dimensionsX, data.dimensionsY, data.teleportTargetId);
|
||||
}
|
||||
else
|
||||
{
|
||||
this._roomEngine.addFurnitureFloor(roomId, data.itemId, data.spriteId, location, direction, data.state, data.data, data.extra, data.expires, data.usagePolicy, data.userId, data.username, true, true, data.stackHeight);
|
||||
this._roomEngine.addFurnitureFloor(roomId, data.itemId, data.spriteId, location, direction, data.state, data.data, data.extra, data.expires, data.usagePolicy, data.userId, data.username, true, true, data.stackHeight, data.allowStack, data.allowSit, data.allowLay, data.allowWalk, data.dimensionsX, data.dimensionsY, data.teleportTargetId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1196,7 +1196,7 @@ export class RoomMessageHandler
|
||||
|
||||
const direction = new Vector3d(wallGeometry.getDirection(data.direction));
|
||||
|
||||
this._roomEngine.addFurnitureWall(roomId, data.itemId, data.spriteId, location, direction, data.state, data.stuffData, data.secondsToExpiration, data.usagePolicy, data.userId, data.username);
|
||||
this._roomEngine.addFurnitureWall(roomId, data.itemId, data.spriteId, location, direction, data.state, data.stuffData, data.secondsToExpiration, data.usagePolicy, data.userId, data.username, true, data.allowStack, data.allowSit, data.allowLay, data.allowWalk, data.dimensionsX, data.dimensionsY, data.teleportTargetId);
|
||||
}
|
||||
|
||||
private onIgnoreResultEvent(event: IgnoreResultEvent): void
|
||||
|
||||
@@ -18,8 +18,15 @@ export class RoomFurnitureData
|
||||
private _synchronized: boolean;
|
||||
private _realRoomObject: boolean;
|
||||
private _sizeZ: number;
|
||||
private _allowStack: boolean;
|
||||
private _allowSit: boolean;
|
||||
private _allowLay: boolean;
|
||||
private _allowWalk: boolean;
|
||||
private _dimensionsX: number;
|
||||
private _dimensionsY: number;
|
||||
private _teleportTargetId: number;
|
||||
|
||||
constructor(id: number, typeId: number, type: string, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra: number = NaN, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', synchronized: boolean = true, realRoomObject: boolean = true, sizeZ: number = -1)
|
||||
constructor(id: number, typeId: number, type: string, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra: number = NaN, expires: number = -1, usagePolicy: number = 0, ownerId: number = 0, ownerName: string = '', synchronized: boolean = true, realRoomObject: boolean = true, sizeZ: number = -1, allowStack: boolean = false, allowSit: boolean = false, allowLay: boolean = false, allowWalk: boolean = false, dimensionsX: number = 0, dimensionsY: number = 0, teleportTargetId: number = 0)
|
||||
{
|
||||
this._id = id;
|
||||
this._typeId = typeId;
|
||||
@@ -34,6 +41,13 @@ export class RoomFurnitureData
|
||||
this._synchronized = synchronized;
|
||||
this._realRoomObject = realRoomObject;
|
||||
this._sizeZ = sizeZ;
|
||||
this._allowStack = allowStack;
|
||||
this._allowSit = allowSit;
|
||||
this._allowLay = allowLay;
|
||||
this._allowWalk = allowWalk;
|
||||
this._dimensionsX = dimensionsX;
|
||||
this._dimensionsY = dimensionsY;
|
||||
this._teleportTargetId = teleportTargetId;
|
||||
|
||||
this._location = new Vector3d();
|
||||
this._direction = new Vector3d();
|
||||
@@ -116,4 +130,39 @@ export class RoomFurnitureData
|
||||
{
|
||||
return this._sizeZ;
|
||||
}
|
||||
|
||||
public get allowStack(): boolean
|
||||
{
|
||||
return this._allowStack;
|
||||
}
|
||||
|
||||
public get allowSit(): boolean
|
||||
{
|
||||
return this._allowSit;
|
||||
}
|
||||
|
||||
public get allowLay(): boolean
|
||||
{
|
||||
return this._allowLay;
|
||||
}
|
||||
|
||||
public get allowWalk(): boolean
|
||||
{
|
||||
return this._allowWalk;
|
||||
}
|
||||
|
||||
public get dimensionsX(): number
|
||||
{
|
||||
return this._dimensionsX;
|
||||
}
|
||||
|
||||
public get dimensionsY(): number
|
||||
{
|
||||
return this._dimensionsY;
|
||||
}
|
||||
|
||||
public get teleportTargetId(): number
|
||||
{
|
||||
return this._teleportTargetId;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user