Files
Nitro_Render_V3/packages/api/src/nitro/room/IRoomEngineServices.ts
T
Lorenzune 99c4acea38 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
2026-03-27 09:37:14 +01:00

46 lines
4.1 KiB
TypeScript

import { IRoomInstance, IRoomObjectController, IRoomRenderingCanvas } from '../../room';
import { IVector3D } from '../../utils';
import { ISelectedRoomObjectData } from './ISelectedRoomObjectData';
import { IObjectData } from './object';
import { IFurnitureStackingHeightMap, ILegacyWallGeometry, IRoomAreaSelectionManager, ITileObjectMap } from './utils';
export interface IRoomEngineServices
{
getRoomInstance(roomId: number): IRoomInstance;
getActiveRoomInstanceRenderingCanvas(): IRoomRenderingCanvas;
addRoomInstanceFloorHole(roomId: number, objectId: number): void;
removeRoomInstanceFloorHole(roomId: number, objectId: number): void;
getSelectedRoomObjectData(roomId: number): ISelectedRoomObjectData;
setSelectedRoomObjectData(roomId: number, data: ISelectedRoomObjectData): void;
getPlacedRoomObjectData(roomId: number): ISelectedRoomObjectData;
setPlacedRoomObjectData(roomId: number, data: ISelectedRoomObjectData): void;
getLegacyWallGeometry(roomId: number): ILegacyWallGeometry;
getFurnitureStackingHeightMap(roomId: number): IFurnitureStackingHeightMap;
getRoomObject(roomId: number, objectId: number, category: number): IRoomObjectController;
getRoomObjectByIndex(roomId: number, index: number, category: number): IRoomObjectController;
getRoomObjectCategoryForType(type: string): number;
getRoomObjectCursor(roomId: number): IRoomObjectController;
getRoomObjectSelectionArrow(roomId: number): IRoomObjectController;
addRoomObjectUser(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, headDirection: number, type: number, figure: string): boolean;
addFurnitureFloor(roomId: number, id: number, typeId: number, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra?: number, expires?: number, usagePolicy?: number, ownerId?: number, ownerName?: string, synchronized?: boolean, realRoomObject?: boolean, sizeZ?: number, allowStack?: boolean, allowSit?: boolean, allowLay?: boolean, allowWalk?: boolean, dimensionsX?: number, dimensionsY?: number, teleportTargetId?: number): boolean;
addFurnitureFloorByTypeName(roomId: number, id: number, typeName: string, location: IVector3D, direction: IVector3D, state: number, objectData: IObjectData, extra?: number, expires?: number, usagePolicy?: number, ownerId?: number, ownerName?: string, synchronized?: boolean, realRoomObject?: boolean, sizeZ?: number, allowStack?: boolean, allowSit?: boolean, allowLay?: boolean, allowWalk?: boolean, dimensionsX?: number, dimensionsY?: number, teleportTargetId?: number): boolean;
addFurnitureWall(roomId: number, id: number, typeId: number, location: IVector3D, direction: IVector3D, state: number, extra: string, expires?: number, usagePolicy?: number, ownerId?: number, ownerName?: string, realRoomObject?: boolean, allowStack?: boolean, allowSit?: boolean, allowLay?: boolean, allowWalk?: boolean, dimensionsX?: number, dimensionsY?: number, teleportTargetId?: number): boolean;
removeRoomObjectFloor(roomId: number, objectId: number, userId?: number, _arg_4?: boolean): void;
removeRoomObjectWall(roomId: number, objectId: number, userId?: number): void;
removeRoomObjectUser(roomId: number, objectId: number): void;
loadRoomObjectBadgeImage(roomId: number, objectId: number, objectCategory: number, badgeId: string, groupBadge?: boolean): void;
updateRoomObjectMask(roomId: number, objectId: number, _arg_?: boolean): void;
setObjectMoverIconSprite(objectId: number, category: number, _arg_3: boolean, instanceData?: string, stuffData?: IObjectData, state?: number, frameNumber?: number, posture?: string): void;
setObjectMoverIconSpriteVisible(k: boolean): void;
updateMousePointer(type: string, objectId: number, objectType: string): void;
removeObjectMoverIconSprite(): void;
getRoomTileObjectMap(k: number): ITileObjectMap;
isPlayingGame(): boolean;
activeRoomId: number;
isDecorating: boolean;
moveBlocked: boolean;
isAreaSelectionMode(): boolean;
whereYouClickIsWhereYouGo(): boolean;
areaSelectionManager: IRoomAreaSelectionManager;
}