mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2024-11-27 01:40:52 +01:00
More changes
This commit is contained in:
parent
ffcbfacbd6
commit
baf001a956
8
src/api/asset/IGraphicAssetGifCollection.ts
Normal file
8
src/api/asset/IGraphicAssetGifCollection.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { Resource, Texture } from '@pixi/core';
|
||||||
|
|
||||||
|
export interface IGraphicAssetGifCollection
|
||||||
|
{
|
||||||
|
name: string;
|
||||||
|
textures: Texture<Resource>[];
|
||||||
|
durations: number[];
|
||||||
|
}
|
@ -6,6 +6,7 @@ export * from './IAssetManager';
|
|||||||
export * from './IAssetPalette';
|
export * from './IAssetPalette';
|
||||||
export * from './IGraphicAsset';
|
export * from './IGraphicAsset';
|
||||||
export * from './IGraphicAssetCollection';
|
export * from './IGraphicAssetCollection';
|
||||||
|
export * from './IGraphicAssetGifCollection';
|
||||||
export * from './IGraphicAssetPalette';
|
export * from './IGraphicAssetPalette';
|
||||||
export * from './logic';
|
export * from './logic';
|
||||||
export * from './logic/model';
|
export * from './logic/model';
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
import { IGraphicAssetCollection } from '../asset';
|
|
||||||
import { IEventDispatcher } from '../common';
|
|
||||||
import { IRoomObject } from '../room';
|
|
||||||
|
|
||||||
export interface IRoomContentLoader
|
|
||||||
{
|
|
||||||
dispose: () => void;
|
|
||||||
downloadAsset(type: string, events: IEventDispatcher): void;
|
|
||||||
isLoaderType(type: string): boolean;
|
|
||||||
getCollection(name: string): IGraphicAssetCollection;
|
|
||||||
getPlaceholderName(type: string): string;
|
|
||||||
setRoomObjectRoomId(object: IRoomObject, roomId: string): void;
|
|
||||||
}
|
|
1
src/api/nitro/avatar/index.ts
Normal file
1
src/api/nitro/avatar/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './pet';
|
6
src/api/nitro/avatar/pet/IPetCustomPart.ts
Normal file
6
src/api/nitro/avatar/pet/IPetCustomPart.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export interface IPetCustomPart
|
||||||
|
{
|
||||||
|
layerId: number;
|
||||||
|
partId: number;
|
||||||
|
paletteId: number;
|
||||||
|
}
|
1
src/api/nitro/avatar/pet/index.ts
Normal file
1
src/api/nitro/avatar/pet/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './IPetCustomPart';
|
@ -1,9 +1,13 @@
|
|||||||
|
export * from './avatar';
|
||||||
|
export * from './avatar/pet';
|
||||||
export * from './camera';
|
export * from './camera';
|
||||||
export * from './communication';
|
export * from './communication';
|
||||||
export * from './enums';
|
export * from './enums';
|
||||||
export * from './IRoomContentLoader';
|
|
||||||
export * from './localization';
|
export * from './localization';
|
||||||
export * from './room';
|
export * from './room';
|
||||||
|
export * from './room/data';
|
||||||
export * from './room/enums';
|
export * from './room/enums';
|
||||||
|
export * from './room/object';
|
||||||
|
export * from './room/utils';
|
||||||
export * from './session';
|
export * from './session';
|
||||||
export * from './session/enum';
|
export * from './session/enum';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { NitroRenderTexture } from '../..';
|
import { NitroRenderTexture } from '../../../pixi-proxy';
|
||||||
|
|
||||||
export interface IGetImageListener
|
export interface IGetImageListener
|
||||||
{
|
{
|
9
src/api/nitro/room/IImageResult.ts
Normal file
9
src/api/nitro/room/IImageResult.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { RenderTexture } from '@pixi/core';
|
||||||
|
|
||||||
|
export interface IImageResult
|
||||||
|
{
|
||||||
|
id: number;
|
||||||
|
data: RenderTexture;
|
||||||
|
image: HTMLImageElement;
|
||||||
|
getImage(): HTMLImageElement;
|
||||||
|
}
|
10
src/api/nitro/room/IPetColorResult.ts
Normal file
10
src/api/nitro/room/IPetColorResult.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
export interface IPetColorResult
|
||||||
|
{
|
||||||
|
readonly primaryColor: number;
|
||||||
|
readonly secondaryColor: number;
|
||||||
|
readonly breed: number;
|
||||||
|
readonly tag: string;
|
||||||
|
readonly id: string;
|
||||||
|
readonly isMaster: boolean;
|
||||||
|
readonly layerTags: string[];
|
||||||
|
}
|
34
src/api/nitro/room/IRoomContentLoader.ts
Normal file
34
src/api/nitro/room/IRoomContentLoader.ts
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { Resource, Texture } from '@pixi/core';
|
||||||
|
import { IPetColorResult, IRoomContentListener } from '.';
|
||||||
|
import { IGraphicAssetCollection, IGraphicAssetGifCollection } from '../../asset';
|
||||||
|
import { IEventDispatcher } from '../../common';
|
||||||
|
import { IRoomObject } from '../../room';
|
||||||
|
import { ISessionDataManager } from '../session';
|
||||||
|
|
||||||
|
export interface IRoomContentLoader
|
||||||
|
{
|
||||||
|
dispose: () => void;
|
||||||
|
initialize(events: IEventDispatcher): void;
|
||||||
|
setSessionDataManager(sessionData: ISessionDataManager): void;
|
||||||
|
downloadAsset(type: string, events: IEventDispatcher): void;
|
||||||
|
isLoaderType(type: string): boolean;
|
||||||
|
getCollection(name: string): IGraphicAssetCollection;
|
||||||
|
getPlaceholderName(type: string): string;
|
||||||
|
getCategoryForType(type: string): number;
|
||||||
|
setRoomObjectRoomId(object: IRoomObject, roomId: string): void;
|
||||||
|
getFurnitureFloorNameForTypeId(typeId: number): string;
|
||||||
|
getFurnitureWallNameForTypeId(typeId: number, extra?: string): string;
|
||||||
|
getFurnitureFloorColorIndex(typeId: number): number;
|
||||||
|
getFurnitureWallColorIndex(typeId: number): number;
|
||||||
|
getImage(name: string): HTMLImageElement;
|
||||||
|
getAssetIconUrl(type: string, colorIndex: string): string;
|
||||||
|
addAssetToCollection(collectionName: string, assetName: string, texture: Texture<Resource>, override?: boolean): boolean;
|
||||||
|
getPetNameForType(type: number): string;
|
||||||
|
downloadImage(id: number, type: string, param: string, events?: IEventDispatcher): boolean;
|
||||||
|
getRoomObjectAdUrl(type: string): string;
|
||||||
|
getPetColorResult(petIndex: number, paletteIndex: number): IPetColorResult;
|
||||||
|
getPetColorResultsForTag(petIndex: number, tagName: string): IPetColorResult[];
|
||||||
|
setIconListener(listener: IRoomContentListener): void;
|
||||||
|
createGifCollection(collectionName: string, textures: Texture<Resource>[], durations: number[]): IGraphicAssetGifCollection;
|
||||||
|
getGifCollection(name: string): IGraphicAssetGifCollection;
|
||||||
|
}
|
@ -1,7 +1,8 @@
|
|||||||
import { IObjectData, IRoomInstance, IRoomObjectController, IRoomSessionManager, ISessionDataManager, IVector3D } from '../../api';
|
import { IRoomInstance, IRoomObjectController, IVector3D } from '../../room';
|
||||||
import { RoomMapData } from './object/RoomMapData';
|
import { IRoomSessionManager, ISessionDataManager } from '../session';
|
||||||
import { FurnitureStackingHeightMap } from './utils/FurnitureStackingHeightMap';
|
import { IObjectData } from './data';
|
||||||
import { LegacyWallGeometry } from './utils/LegacyWallGeometry';
|
import { IRoomMapData } from './object';
|
||||||
|
import { IFurnitureStackingHeightMap, ILegacyWallGeometry } from './utils';
|
||||||
|
|
||||||
export interface IRoomCreator
|
export interface IRoomCreator
|
||||||
{
|
{
|
||||||
@ -11,12 +12,12 @@ export interface IRoomCreator
|
|||||||
updateRoomInstancePlaneThickness(roomId: number, wallThickness: number, floorThickness: number): boolean;
|
updateRoomInstancePlaneThickness(roomId: number, wallThickness: number, floorThickness: number): boolean;
|
||||||
updateRoomInstancePlaneType(roomId: number, floorType?: string, wallType?: string, landscapeType?: string, _arg_5?: boolean): boolean;
|
updateRoomInstancePlaneType(roomId: number, floorType?: string, wallType?: string, landscapeType?: string, _arg_5?: boolean): boolean;
|
||||||
removeRoomInstance(roomId: number): void;
|
removeRoomInstance(roomId: number): void;
|
||||||
createRoomInstance(roomId: number, roomMap: RoomMapData): void;
|
createRoomInstance(roomId: number, roomMap: IRoomMapData): void;
|
||||||
setRoomSessionOwnUser(roomId: number, objectId: number): void;
|
setRoomSessionOwnUser(roomId: number, objectId: number): void;
|
||||||
setRoomInstanceModelName(roomId: number, name: string): void;
|
setRoomInstanceModelName(roomId: number, name: string): void;
|
||||||
getFurnitureStackingHeightMap(roomId: number): FurnitureStackingHeightMap;
|
getFurnitureStackingHeightMap(roomId: number): IFurnitureStackingHeightMap;
|
||||||
setFurnitureStackingHeightMap(roomId: number, heightMap: FurnitureStackingHeightMap): void;
|
setFurnitureStackingHeightMap(roomId: number, heightMap: IFurnitureStackingHeightMap): void;
|
||||||
getLegacyWallGeometry(roomId: number): LegacyWallGeometry;
|
getLegacyWallGeometry(roomId: number): ILegacyWallGeometry;
|
||||||
getRoomObject(roomId: number, objectId: number, category: number): IRoomObjectController;
|
getRoomObject(roomId: number, objectId: number, category: number): IRoomObjectController;
|
||||||
getRoomObjectByIndex(roomId: number, index: number, category: number): IRoomObjectController;
|
getRoomObjectByIndex(roomId: number, index: number, category: number): IRoomObjectController;
|
||||||
getRoomObjectCursor(roomId: number): IRoomObjectController;
|
getRoomObjectCursor(roomId: number): IRoomObjectController;
|
@ -1,14 +1,17 @@
|
|||||||
import { RenderTexture } from '@pixi/core';
|
import { RenderTexture } from '@pixi/core';
|
||||||
import { DisplayObject } from '@pixi/display';
|
import { DisplayObject } from '@pixi/display';
|
||||||
import { Point, Rectangle } from '@pixi/math';
|
import { Point, Rectangle } from '@pixi/math';
|
||||||
import { INitroManager, IObjectData, IRoomGeometry, IRoomManager, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectVisualizationFactory, IRoomRendererFactory, IRoomRenderingCanvas, IRoomSessionManager, ISessionDataManager, IVector3D } from '../../api';
|
import { INitroManager } from '../../common';
|
||||||
import { PetCustomPart } from '../avatar/pets/PetCustomPart';
|
import { IRoomGeometry, IRoomManager, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectVisualizationFactory, IRoomRendererFactory, IRoomRenderingCanvas, IVector3D } from '../../room';
|
||||||
|
import { IPetCustomPart } from '../avatar';
|
||||||
|
import { IRoomSessionManager, ISessionDataManager } from '../session';
|
||||||
|
import { IObjectData } from './data';
|
||||||
import { IGetImageListener } from './IGetImageListener';
|
import { IGetImageListener } from './IGetImageListener';
|
||||||
import { ImageResult } from './ImageResult';
|
import { IImageResult } from './IImageResult';
|
||||||
import { RoomMapData } from './object/RoomMapData';
|
import { IPetColorResult } from './IPetColorResult';
|
||||||
import { PetColorResult } from './PetColorResult';
|
import { IRoomContentLoader } from './IRoomContentLoader';
|
||||||
import { RoomContentLoader } from './RoomContentLoader';
|
import { IRoomObjectEventManager } from './IRoomObjectEventManager';
|
||||||
import { RoomObjectEventHandler } from './RoomObjectEventHandler';
|
import { IRoomMapData } from './object';
|
||||||
|
|
||||||
export interface IRoomEngine extends INitroManager
|
export interface IRoomEngine extends INitroManager
|
||||||
{
|
{
|
||||||
@ -16,7 +19,7 @@ export interface IRoomEngine extends INitroManager
|
|||||||
onRoomEngineInitalized(flag: boolean): void;
|
onRoomEngineInitalized(flag: boolean): void;
|
||||||
disableUpdate(flag: boolean): void;
|
disableUpdate(flag: boolean): void;
|
||||||
runUpdate(): void;
|
runUpdate(): void;
|
||||||
createRoomInstance(roomId: number, roomMap: RoomMapData): void;
|
createRoomInstance(roomId: number, roomMap: IRoomMapData): void;
|
||||||
getRoomInstanceDisplay(roomId: number, id: number, width: number, height: number, scale: number): DisplayObject;
|
getRoomInstanceDisplay(roomId: number, id: number, width: number, height: number, scale: number): DisplayObject;
|
||||||
setRoomInstanceRenderingCanvasScale(roomId: number, canvasId: number, scale: number, point?: Point, offsetPoint?: Point, override?: boolean, asDelta?: boolean): void;
|
setRoomInstanceRenderingCanvasScale(roomId: number, canvasId: number, scale: number, point?: Point, offsetPoint?: Point, override?: boolean, asDelta?: boolean): void;
|
||||||
setRoomInstanceRenderingCanvasMask(roomId: number, canvasId: number, flag: boolean): void;
|
setRoomInstanceRenderingCanvasMask(roomId: number, canvasId: number, flag: boolean): void;
|
||||||
@ -41,11 +44,11 @@ export interface IRoomEngine extends INitroManager
|
|||||||
getRoomObjectCount(roomId: number, categoryId: number): number;
|
getRoomObjectCount(roomId: number, categoryId: number): number;
|
||||||
getRoomObjectBoundingRectangle(roomId: number, objectId: number, category: number, canvasId: number): Rectangle;
|
getRoomObjectBoundingRectangle(roomId: number, objectId: number, category: number, canvasId: number): Rectangle;
|
||||||
getRoomObjectScreenLocation(roomId: number, objectId: number, objectType: number, canvasId?: number): Point;
|
getRoomObjectScreenLocation(roomId: number, objectId: number, objectType: number, canvasId?: number): Point;
|
||||||
getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number, extras?: string, objectData?: IObjectData, state?: number, frameCount?: number, posture?: string, originalId?: number): ImageResult;
|
getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number, extras?: string, objectData?: IObjectData, state?: number, frameCount?: number, posture?: string, originalId?: number): IImageResult;
|
||||||
getFurnitureFloorIconUrl(typeId: number): string;
|
getFurnitureFloorIconUrl(typeId: number): string;
|
||||||
getFurnitureFloorIcon(typeId: number, listener: IGetImageListener, extras?: string, objectData?: IObjectData): ImageResult;
|
getFurnitureFloorIcon(typeId: number, listener: IGetImageListener, extras?: string, objectData?: IObjectData): IImageResult;
|
||||||
getFurnitureWallIconUrl(typeId: number, extra?: string): string;
|
getFurnitureWallIconUrl(typeId: number, extra?: string): string;
|
||||||
getFurnitureWallIcon(typeId: number, listener: IGetImageListener, extras?: string): ImageResult;
|
getFurnitureWallIcon(typeId: number, listener: IGetImageListener, extras?: string): IImageResult;
|
||||||
updateRoomObjectWallLocation(roomId: number, objectId: number, location: IVector3D): boolean;
|
updateRoomObjectWallLocation(roomId: number, objectId: number, location: IVector3D): boolean;
|
||||||
addRoomObjectUser(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, headDirection: number, type: number, figure: string): boolean;
|
addRoomObjectUser(roomId: number, objectId: number, location: IVector3D, direction: IVector3D, headDirection: number, type: number, figure: string): boolean;
|
||||||
updateRoomObjectUserLocation(roomId: number, objectId: number, location: IVector3D, targetLocation: IVector3D, canStandUp?: boolean, baseY?: number, direction?: IVector3D, headDirection?: number): boolean;
|
updateRoomObjectUserLocation(roomId: number, objectId: number, location: IVector3D, targetLocation: IVector3D, canStandUp?: boolean, baseY?: number, direction?: IVector3D, headDirection?: number): boolean;
|
||||||
@ -60,17 +63,17 @@ export interface IRoomEngine extends INitroManager
|
|||||||
updateRoomObjectUserEffect(roomId: number, objectId: number, effectId: number, delay?: number): boolean;
|
updateRoomObjectUserEffect(roomId: number, objectId: number, effectId: number, delay?: number): boolean;
|
||||||
updateRoomObjectUserGesture(roomId: number, objectId: number, gestureId: number): boolean;
|
updateRoomObjectUserGesture(roomId: number, objectId: number, gestureId: number): boolean;
|
||||||
updateRoomObjectUserPosture(roomId: number, objectId: number, type: string, parameter?: string): boolean;
|
updateRoomObjectUserPosture(roomId: number, objectId: number, type: string, parameter?: string): boolean;
|
||||||
getFurnitureFloorImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number, extras?: string, state?: number, frameCount?: number, objectData?: IObjectData): ImageResult;
|
getFurnitureFloorImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number, extras?: string, state?: number, frameCount?: number, objectData?: IObjectData): IImageResult;
|
||||||
getFurnitureWallImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number, extras?: string, state?: number, frameCount?: number): ImageResult;
|
getFurnitureWallImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number, extras?: string, state?: number, frameCount?: number): IImageResult;
|
||||||
getRoomObjectImage(roomId: number, objectId: number, category: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number): ImageResult;
|
getRoomObjectImage(roomId: number, objectId: number, category: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor?: number): IImageResult;
|
||||||
getRoomObjectPetImage(typeId: number, paletteId: number, color: number, direction: IVector3D, scale: number, listener: IGetImageListener, headOnly?: boolean, bgColor?: number, customParts?: PetCustomPart[], posture?: string): ImageResult;
|
getRoomObjectPetImage(typeId: number, paletteId: number, color: number, direction: IVector3D, scale: number, listener: IGetImageListener, headOnly?: boolean, bgColor?: number, customParts?: IPetCustomPart[], posture?: string): IImageResult;
|
||||||
getFurnitureFloorName(typeId: number): string;
|
getFurnitureFloorName(typeId: number): string;
|
||||||
getFurnitureWallName(typeId: number, extra?: string): string;
|
getFurnitureWallName(typeId: number, extra?: string): string;
|
||||||
selectRoomObject(roomId: number, objectId: number, objectCategory: number): void;
|
selectRoomObject(roomId: number, objectId: number, objectCategory: number): void;
|
||||||
setSelectedAvatar(roomId: number, objectId: number): void;
|
setSelectedAvatar(roomId: number, objectId: number): void;
|
||||||
cancelRoomObjectInsert(): void;
|
cancelRoomObjectInsert(): void;
|
||||||
getPetColorResult(petIndex: number, paletteIndex: number): PetColorResult;
|
getPetColorResult(petIndex: number, paletteIndex: number): IPetColorResult;
|
||||||
getPetColorResultsForTag(petIndex: number, tagName: string): PetColorResult[];
|
getPetColorResultsForTag(petIndex: number, tagName: string): IPetColorResult[];
|
||||||
cancelRoomObjectPlacement(): void;
|
cancelRoomObjectPlacement(): void;
|
||||||
useRoomObject(objectId: number, category: number): boolean;
|
useRoomObject(objectId: number, category: number): boolean;
|
||||||
objectInitialized(roomId: string, objectId: number, category: number): void;
|
objectInitialized(roomId: string, objectId: number, category: number): void;
|
||||||
@ -88,11 +91,11 @@ export interface IRoomEngine extends INitroManager
|
|||||||
sessionDataManager: ISessionDataManager;
|
sessionDataManager: ISessionDataManager;
|
||||||
roomSessionManager: IRoomSessionManager;
|
roomSessionManager: IRoomSessionManager;
|
||||||
roomManager: IRoomManager;
|
roomManager: IRoomManager;
|
||||||
objectEventHandler: RoomObjectEventHandler;
|
objectEventHandler: IRoomObjectEventManager;
|
||||||
roomRendererFactory: IRoomRendererFactory;
|
roomRendererFactory: IRoomRendererFactory;
|
||||||
visualizationFactory: IRoomObjectVisualizationFactory;
|
visualizationFactory: IRoomObjectVisualizationFactory;
|
||||||
logicFactory: IRoomObjectLogicFactory;
|
logicFactory: IRoomObjectLogicFactory;
|
||||||
roomContentLoader: RoomContentLoader;
|
roomContentLoader: IRoomContentLoader;
|
||||||
activeRoomId: number;
|
activeRoomId: number;
|
||||||
ready: boolean;
|
ready: boolean;
|
||||||
disposed: boolean;
|
disposed: boolean;
|
@ -1,8 +1,10 @@
|
|||||||
import { IConnection, IEventDispatcher, IObjectData, IRoomInstance, IRoomObjectController, IRoomRenderingCanvas, IRoomSessionManager, ISessionDataManager, IVector3D } from '../../api';
|
import { IEventDispatcher } from '../../common';
|
||||||
import { FurnitureStackingHeightMap } from './utils/FurnitureStackingHeightMap';
|
import { IConnection } from '../../communication';
|
||||||
import { LegacyWallGeometry } from './utils/LegacyWallGeometry';
|
import { IRoomInstance, IRoomObjectController, IRoomRenderingCanvas, IVector3D } from '../../room';
|
||||||
import { SelectedRoomObjectData } from './utils/SelectedRoomObjectData';
|
import { IRoomSessionManager, ISessionDataManager } from '../session';
|
||||||
import { TileObjectMap } from './utils/TileObjectMap';
|
import { IObjectData } from './data';
|
||||||
|
import { ISelectedRoomObjectData } from './ISelectedRoomObjectData';
|
||||||
|
import { IFurnitureStackingHeightMap, ILegacyWallGeometry, ITileObjectMap } from './utils';
|
||||||
|
|
||||||
export interface IRoomEngineServices
|
export interface IRoomEngineServices
|
||||||
{
|
{
|
||||||
@ -10,12 +12,12 @@ export interface IRoomEngineServices
|
|||||||
getActiveRoomInstanceRenderingCanvas(): IRoomRenderingCanvas;
|
getActiveRoomInstanceRenderingCanvas(): IRoomRenderingCanvas;
|
||||||
addRoomInstanceFloorHole(roomId: number, objectId: number): void;
|
addRoomInstanceFloorHole(roomId: number, objectId: number): void;
|
||||||
removeRoomInstanceFloorHole(roomId: number, objectId: number): void;
|
removeRoomInstanceFloorHole(roomId: number, objectId: number): void;
|
||||||
getSelectedRoomObjectData(roomId: number): SelectedRoomObjectData;
|
getSelectedRoomObjectData(roomId: number): ISelectedRoomObjectData;
|
||||||
setSelectedRoomObjectData(roomId: number, data: SelectedRoomObjectData): void;
|
setSelectedRoomObjectData(roomId: number, data: ISelectedRoomObjectData): void;
|
||||||
getPlacedRoomObjectData(roomId: number): SelectedRoomObjectData;
|
getPlacedRoomObjectData(roomId: number): ISelectedRoomObjectData;
|
||||||
setPlacedRoomObjectData(roomId: number, data: SelectedRoomObjectData): void;
|
setPlacedRoomObjectData(roomId: number, data: ISelectedRoomObjectData): void;
|
||||||
getLegacyWallGeometry(roomId: number): LegacyWallGeometry;
|
getLegacyWallGeometry(roomId: number): ILegacyWallGeometry;
|
||||||
getFurnitureStackingHeightMap(roomId: number): FurnitureStackingHeightMap;
|
getFurnitureStackingHeightMap(roomId: number): IFurnitureStackingHeightMap;
|
||||||
getRoomObject(roomId: number, objectId: number, category: number): IRoomObjectController;
|
getRoomObject(roomId: number, objectId: number, category: number): IRoomObjectController;
|
||||||
getRoomObjectByIndex(roomId: number, index: number, category: number): IRoomObjectController;
|
getRoomObjectByIndex(roomId: number, index: number, category: number): IRoomObjectController;
|
||||||
getRoomObjectCategoryForType(type: string): number;
|
getRoomObjectCategoryForType(type: string): number;
|
||||||
@ -34,7 +36,7 @@ export interface IRoomEngineServices
|
|||||||
setObjectMoverIconSpriteVisible(k: boolean): void;
|
setObjectMoverIconSpriteVisible(k: boolean): void;
|
||||||
updateMousePointer(type: string, objectId: number, objectType: string): void;
|
updateMousePointer(type: string, objectId: number, objectType: string): void;
|
||||||
removeObjectMoverIconSprite(): void;
|
removeObjectMoverIconSprite(): void;
|
||||||
getRoomTileObjectMap(k: number): TileObjectMap;
|
getRoomTileObjectMap(k: number): ITileObjectMap;
|
||||||
isPlayingGame(): boolean;
|
isPlayingGame(): boolean;
|
||||||
connection: IConnection;
|
connection: IConnection;
|
||||||
sessionDataManager: ISessionDataManager;
|
sessionDataManager: ISessionDataManager;
|
6
src/api/nitro/room/IRoomObjectEventManager.ts
Normal file
6
src/api/nitro/room/IRoomObjectEventManager.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { IRoomObjectController } from '../../room';
|
||||||
|
|
||||||
|
export interface IRoomObjectEventManager
|
||||||
|
{
|
||||||
|
getValidRoomObjectDirection(k: IRoomObjectController, _arg_2: boolean): number;
|
||||||
|
}
|
@ -1,14 +1,18 @@
|
|||||||
import { IObjectData } from '../../api';
|
import { IVector3D } from '../../room';
|
||||||
|
import { IObjectData } from './data';
|
||||||
|
|
||||||
export interface ISelectedRoomObjectData
|
export interface ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
id: number;
|
id: number;
|
||||||
category: number;
|
category: number;
|
||||||
operation: string;
|
operation: string;
|
||||||
|
loc: IVector3D;
|
||||||
|
dir: IVector3D;
|
||||||
typeId: number;
|
typeId: number;
|
||||||
instanceData: string;
|
instanceData: string;
|
||||||
stuffData: IObjectData;
|
stuffData: IObjectData;
|
||||||
state: number;
|
state: number;
|
||||||
animFrame: number;
|
animFrame: number;
|
||||||
posture: string;
|
posture: string;
|
||||||
|
dispose: () => void;
|
||||||
}
|
}
|
@ -1,2 +1,14 @@
|
|||||||
export * from './data';
|
export * from './data';
|
||||||
export * from './enums';
|
export * from './enums';
|
||||||
|
export * from './IGetImageListener';
|
||||||
|
export * from './IImageResult';
|
||||||
|
export * from './IPetColorResult';
|
||||||
|
export * from './IRoomContentListener';
|
||||||
|
export * from './IRoomContentLoader';
|
||||||
|
export * from './IRoomCreator';
|
||||||
|
export * from './IRoomEngine';
|
||||||
|
export * from './IRoomEngineServices';
|
||||||
|
export * from './IRoomObjectEventManager';
|
||||||
|
export * from './ISelectedRoomObjectData';
|
||||||
|
export * from './object';
|
||||||
|
export * from './utils';
|
||||||
|
14
src/api/nitro/room/object/IRoomMapData.ts
Normal file
14
src/api/nitro/room/object/IRoomMapData.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
export interface IRoomMapData
|
||||||
|
{
|
||||||
|
width: number;
|
||||||
|
height: number;
|
||||||
|
wallHeight: number;
|
||||||
|
fixedWallsHeight: number;
|
||||||
|
tileMap: { height: number }[][];
|
||||||
|
holeMap: { id: number, x: number, y: number, width: number, height: number }[];
|
||||||
|
doors: { x: number, y: number, z: number, dir: number }[];
|
||||||
|
dimensions: { minX: number, maxX: number, minY: number, maxY: number };
|
||||||
|
restrictsDragging: boolean;
|
||||||
|
restrictsScaling: boolean;
|
||||||
|
restrictedScale: number;
|
||||||
|
}
|
1
src/api/nitro/room/object/index.ts
Normal file
1
src/api/nitro/room/object/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './IRoomMapData';
|
11
src/api/nitro/room/utils/IFurnitureStackingHeightMap.ts
Normal file
11
src/api/nitro/room/utils/IFurnitureStackingHeightMap.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
export interface IFurnitureStackingHeightMap
|
||||||
|
{
|
||||||
|
dispose: () => void;
|
||||||
|
getTileHeight(x: number, y: number): number;
|
||||||
|
setTileHeight(x: number, y: number, height: number): void;
|
||||||
|
setStackingBlocked(x: number, y: number, isNotStackable: boolean): void;
|
||||||
|
setIsRoomTile(x: number, y: number, isRoomTile: boolean): void;
|
||||||
|
validateLocation(k: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5: number, _arg_6: number, _arg_7: number, _arg_8: number, _arg_9: boolean, _arg_10?: number): boolean;
|
||||||
|
readonly width: number;
|
||||||
|
readonly height: number;
|
||||||
|
}
|
18
src/api/nitro/room/utils/ILegacyWallGeometry.ts
Normal file
18
src/api/nitro/room/utils/ILegacyWallGeometry.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { IVector3D } from '../../../room';
|
||||||
|
|
||||||
|
export interface ILegacyWallGeometry
|
||||||
|
{
|
||||||
|
dispose: () => void;
|
||||||
|
readonly disposed: boolean;
|
||||||
|
scale: number;
|
||||||
|
initialize(width: number, height: number, floorHeight: number): void;
|
||||||
|
setHeight(x: number, y: number, height: number): boolean;
|
||||||
|
getHeight(x: number, y: number): number;
|
||||||
|
getLocation(k: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5: string): IVector3D;
|
||||||
|
getLocationOldFormat(k: number, _arg_2: number, _arg_3: string): IVector3D;
|
||||||
|
getOldLocation(k: IVector3D, _arg_2: number): [number, number, number, number, string];
|
||||||
|
getOldLocationString(k: IVector3D, _arg_2: number): string;
|
||||||
|
getDirection(k: string): number;
|
||||||
|
getFloorAltitude(k: number, _arg_2: number): number;
|
||||||
|
isRoomTile(k: number, _arg_2: number): boolean;
|
||||||
|
}
|
11
src/api/nitro/room/utils/ITileObjectMap.ts
Normal file
11
src/api/nitro/room/utils/ITileObjectMap.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { IRoomObject } from '../../../room';
|
||||||
|
|
||||||
|
export interface ITileObjectMap
|
||||||
|
{
|
||||||
|
clear(): void;
|
||||||
|
populate(k: IRoomObject[]): void;
|
||||||
|
dispose(): void;
|
||||||
|
getObjectIntTile(k: number, _arg_2: number): IRoomObject;
|
||||||
|
setObjectInTile(k: number, _arg_2: number, _arg_3: IRoomObject): void;
|
||||||
|
addRoomObject(k: IRoomObject): void;
|
||||||
|
}
|
3
src/api/nitro/room/utils/index.ts
Normal file
3
src/api/nitro/room/utils/index.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export * from './IFurnitureStackingHeightMap';
|
||||||
|
export * from './ILegacyWallGeometry';
|
||||||
|
export * from './ITileObjectMap';
|
@ -1,8 +1,7 @@
|
|||||||
import { Application } from '@pixi/app';
|
import { Application } from '@pixi/app';
|
||||||
import { Ticker } from '@pixi/ticker';
|
import { Ticker } from '@pixi/ticker';
|
||||||
import { IEventDispatcher, ILinkEventTracker, INitroCommunicationManager, INitroCore, INitroLocalizationManager, IRoomCameraWidgetManager, IRoomManager, IRoomSessionManager, ISessionDataManager, IWorkerEventTracker } from '../api';
|
import { IEventDispatcher, ILinkEventTracker, INitroCommunicationManager, INitroCore, INitroLocalizationManager, IRoomCameraWidgetManager, IRoomEngine, IRoomManager, IRoomSessionManager, ISessionDataManager, IWorkerEventTracker } from '../api';
|
||||||
import { IAvatarRenderManager } from './avatar/IAvatarRenderManager';
|
import { IAvatarRenderManager } from './avatar/IAvatarRenderManager';
|
||||||
import { IRoomEngine } from './room/IRoomEngine';
|
|
||||||
import { ISoundManager } from './sound/ISoundManager';
|
import { ISoundManager } from './sound/ISoundManager';
|
||||||
|
|
||||||
export interface INitro
|
export interface INitro
|
||||||
|
@ -2,7 +2,7 @@ import { Application, IApplicationOptions } from '@pixi/app';
|
|||||||
import { SCALE_MODES } from '@pixi/constants';
|
import { SCALE_MODES } from '@pixi/constants';
|
||||||
import { settings } from '@pixi/settings';
|
import { settings } from '@pixi/settings';
|
||||||
import { Ticker } from '@pixi/ticker';
|
import { Ticker } from '@pixi/ticker';
|
||||||
import { IEventDispatcher, ILinkEventTracker, INitroCommunicationManager, INitroCore, INitroLocalizationManager, IRoomCameraWidgetManager, IRoomManager, IRoomSessionManager, ISessionDataManager, IWorkerEventTracker } from '../api';
|
import { IEventDispatcher, ILinkEventTracker, INitroCommunicationManager, INitroCore, INitroLocalizationManager, IRoomCameraWidgetManager, IRoomEngine, IRoomManager, IRoomSessionManager, ISessionDataManager, IWorkerEventTracker } from '../api';
|
||||||
import { ConfigurationEvent, EventDispatcher, NitroCore, NitroEvent } from '../core';
|
import { ConfigurationEvent, EventDispatcher, NitroCore, NitroEvent } from '../core';
|
||||||
import { PixiApplicationProxy } from '../pixi-proxy';
|
import { PixiApplicationProxy } from '../pixi-proxy';
|
||||||
import { RoomManager } from '../room/RoomManager';
|
import { RoomManager } from '../room/RoomManager';
|
||||||
@ -16,7 +16,6 @@ import { INitro } from './INitro';
|
|||||||
import { NitroLocalizationManager } from './localization/NitroLocalizationManager';
|
import { NitroLocalizationManager } from './localization/NitroLocalizationManager';
|
||||||
import './Plugins';
|
import './Plugins';
|
||||||
import { RoomEngineEvent } from './room/events/RoomEngineEvent';
|
import { RoomEngineEvent } from './room/events/RoomEngineEvent';
|
||||||
import { IRoomEngine } from './room/IRoomEngine';
|
|
||||||
import { RoomEngine } from './room/RoomEngine';
|
import { RoomEngine } from './room/RoomEngine';
|
||||||
import { RoomSessionManager } from './session/RoomSessionManager';
|
import { RoomSessionManager } from './session/RoomSessionManager';
|
||||||
import { SessionDataManager } from './session/SessionDataManager';
|
import { SessionDataManager } from './session/SessionDataManager';
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export class PetCustomPart
|
import { IPetCustomPart } from '../../../api';
|
||||||
|
|
||||||
|
export class PetCustomPart implements IPetCustomPart
|
||||||
{
|
{
|
||||||
private _layerId: number;
|
private _layerId: number;
|
||||||
private _partId: number;
|
private _partId: number;
|
||||||
@ -40,4 +42,4 @@ export class PetCustomPart
|
|||||||
{
|
{
|
||||||
this._paletteId = paletteId;
|
this._paletteId = paletteId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { IPetCustomPart } from '../../../api';
|
||||||
import { PetCustomPart } from './PetCustomPart';
|
import { PetCustomPart } from './PetCustomPart';
|
||||||
|
|
||||||
export class PetFigureData
|
export class PetFigureData
|
||||||
@ -7,7 +8,7 @@ export class PetFigureData
|
|||||||
private _color: number;
|
private _color: number;
|
||||||
private _headOnly: boolean;
|
private _headOnly: boolean;
|
||||||
|
|
||||||
private _customParts: PetCustomPart[];
|
private _customParts: IPetCustomPart[];
|
||||||
private _customLayerIds: number[];
|
private _customLayerIds: number[];
|
||||||
private _customPartIds: number[];
|
private _customPartIds: number[];
|
||||||
private _customPaletteIds: number[];
|
private _customPaletteIds: number[];
|
||||||
@ -28,7 +29,7 @@ export class PetFigureData
|
|||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
|
|
||||||
while(i < this._customLayerIds.length)
|
while (i < this._customLayerIds.length)
|
||||||
{
|
{
|
||||||
this._customParts.push(new PetCustomPart(this._customLayerIds[i], this._customPartIds[i], this._customPaletteIds[i]));
|
this._customParts.push(new PetCustomPart(this._customLayerIds[i], this._customPartIds[i], this._customPaletteIds[i]));
|
||||||
|
|
||||||
@ -66,18 +67,18 @@ export class PetFigureData
|
|||||||
return this._customPaletteIds;
|
return this._customPaletteIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get customParts(): PetCustomPart[]
|
public get customParts(): IPetCustomPart[]
|
||||||
{
|
{
|
||||||
return this._customParts;
|
return this._customParts;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getCustomPart(k: number): PetCustomPart
|
public getCustomPart(k: number): IPetCustomPart
|
||||||
{
|
{
|
||||||
if(this._customParts)
|
if (this._customParts)
|
||||||
{
|
{
|
||||||
for(const _local_2 of this._customParts)
|
for (const _local_2 of this._customParts)
|
||||||
{
|
{
|
||||||
if(_local_2.layerId === k) return _local_2;
|
if (_local_2.layerId === k) return _local_2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +101,7 @@ export class PetFigureData
|
|||||||
|
|
||||||
figure = (figure + (' ' + this.customParts.length));
|
figure = (figure + (' ' + this.customParts.length));
|
||||||
|
|
||||||
for(const _local_2 of this.customParts)
|
for (const _local_2 of this.customParts)
|
||||||
{
|
{
|
||||||
figure = (figure + (((((' ' + _local_2.layerId) + ' ') + _local_2.partId) + ' ') + _local_2.paletteId));
|
figure = (figure + (((((' ' + _local_2.layerId) + ' ') + _local_2.partId) + ' ') + _local_2.paletteId));
|
||||||
}
|
}
|
||||||
@ -112,13 +113,13 @@ export class PetFigureData
|
|||||||
{
|
{
|
||||||
let _local_2: string[] = [];
|
let _local_2: string[] = [];
|
||||||
|
|
||||||
if(k)
|
if (k)
|
||||||
{
|
{
|
||||||
const _local_3 = k.split(' ');
|
const _local_3 = k.split(' ');
|
||||||
const _local_4 = ((this._headOnly) ? 1 : 0);
|
const _local_4 = ((this._headOnly) ? 1 : 0);
|
||||||
const _local_5 = (4 + _local_4);
|
const _local_5 = (4 + _local_4);
|
||||||
|
|
||||||
if(_local_3.length > _local_5)
|
if (_local_3.length > _local_5)
|
||||||
{
|
{
|
||||||
const _local_6 = (3 + _local_4);
|
const _local_6 = (3 + _local_4);
|
||||||
const _local_7 = parseInt(_local_3[_local_6]);
|
const _local_7 = parseInt(_local_3[_local_6]);
|
||||||
@ -136,7 +137,7 @@ export class PetFigureData
|
|||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
|
|
||||||
while(i < data.length)
|
while (i < data.length)
|
||||||
{
|
{
|
||||||
layerIds.push(parseInt(data[(i + 0)]));
|
layerIds.push(parseInt(data[(i + 0)]));
|
||||||
|
|
||||||
@ -152,7 +153,7 @@ export class PetFigureData
|
|||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
|
|
||||||
while(i < data.length)
|
while (i < data.length)
|
||||||
{
|
{
|
||||||
partIds.push(parseInt(data[(i + 1)]));
|
partIds.push(parseInt(data[(i + 1)]));
|
||||||
|
|
||||||
@ -168,7 +169,7 @@ export class PetFigureData
|
|||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
|
|
||||||
while(i < data.length)
|
while (i < data.length)
|
||||||
{
|
{
|
||||||
paletteIds.push(parseInt(data[(i + 2)]));
|
paletteIds.push(parseInt(data[(i + 2)]));
|
||||||
|
|
||||||
@ -180,11 +181,11 @@ export class PetFigureData
|
|||||||
|
|
||||||
private getTypeId(data: string): number
|
private getTypeId(data: string): number
|
||||||
{
|
{
|
||||||
if(data)
|
if (data)
|
||||||
{
|
{
|
||||||
const parts = data.split(' ');
|
const parts = data.split(' ');
|
||||||
|
|
||||||
if(parts.length >= 1) return parseInt(parts[0]);
|
if (parts.length >= 1) return parseInt(parts[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -192,11 +193,11 @@ export class PetFigureData
|
|||||||
|
|
||||||
private getPaletteId(data: string): number
|
private getPaletteId(data: string): number
|
||||||
{
|
{
|
||||||
if(data)
|
if (data)
|
||||||
{
|
{
|
||||||
const parts = data.split(' ');
|
const parts = data.split(' ');
|
||||||
|
|
||||||
if(parts.length >= 2) return parseInt(parts[1]);
|
if (parts.length >= 2) return parseInt(parts[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -204,11 +205,11 @@ export class PetFigureData
|
|||||||
|
|
||||||
private getColor(data: string): number
|
private getColor(data: string): number
|
||||||
{
|
{
|
||||||
if(data)
|
if (data)
|
||||||
{
|
{
|
||||||
const parts = data.split(' ');
|
const parts = data.split(' ');
|
||||||
|
|
||||||
if(parts.length >= 3) return parseInt(parts[2], 16);
|
if (parts.length >= 3) return parseInt(parts[2], 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0xFFFFFF;
|
return 0xFFFFFF;
|
||||||
@ -216,11 +217,11 @@ export class PetFigureData
|
|||||||
|
|
||||||
private getHeadOnly(data: string): boolean
|
private getHeadOnly(data: string): boolean
|
||||||
{
|
{
|
||||||
if(data)
|
if (data)
|
||||||
{
|
{
|
||||||
const parts = data.split(' ');
|
const parts = data.split(' ');
|
||||||
|
|
||||||
if(parts.length >= 4) return parts[3] === 'head';
|
if (parts.length >= 4) return parts[3] === 'head';
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { RenderTexture } from '@pixi/core';
|
import { RenderTexture } from '@pixi/core';
|
||||||
|
import { IImageResult } from '../../api';
|
||||||
import { TextureUtils } from '../../pixi-proxy';
|
import { TextureUtils } from '../../pixi-proxy';
|
||||||
|
|
||||||
export class ImageResult
|
export class ImageResult implements IImageResult
|
||||||
{
|
{
|
||||||
public id: number = 0;
|
public id: number = 0;
|
||||||
public data: RenderTexture = null;
|
public data: RenderTexture = null;
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export class PetColorResult
|
import { IPetColorResult } from '../../api';
|
||||||
|
|
||||||
|
export class PetColorResult implements IPetColorResult
|
||||||
{
|
{
|
||||||
private static COLOR_TAGS: string[] = ['Null', 'Black', 'White', 'Grey', 'Red', 'Orange', 'Pink', 'Green', 'Lime', 'Blue', 'Light-Blue', 'Dark-Blue', 'Yellow', 'Brown', 'Dark-Brown', 'Beige', 'Cyan', 'Purple', 'Gold'];
|
private static COLOR_TAGS: string[] = ['Null', 'Black', 'White', 'Grey', 'Red', 'Orange', 'Pink', 'Green', 'Lime', 'Blue', 'Light-Blue', 'Dark-Blue', 'Yellow', 'Brown', 'Dark-Brown', 'Beige', 'Cyan', 'Purple', 'Gold'];
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
import { BaseTexture, Resource, Texture } from '@pixi/core';
|
import { BaseTexture, Resource, Texture } from '@pixi/core';
|
||||||
import { Loader, LoaderResource } from '@pixi/loaders';
|
import { Loader, LoaderResource } from '@pixi/loaders';
|
||||||
import { Spritesheet } from '@pixi/spritesheet';
|
import { Spritesheet } from '@pixi/spritesheet';
|
||||||
import { FurnitureType, IAssetData, IEventDispatcher, IFurnitureData, IFurnitureDataListener, IGraphicAssetCollection, INitroLogger, IRoomContentLoader, IRoomObject, ISessionDataManager } from '../../api';
|
import { FurnitureType, IAssetData, IEventDispatcher, IFurnitureData, IFurnitureDataListener, IGraphicAssetCollection, IGraphicAssetGifCollection, INitroLogger, IPetColorResult, IRoomContentListener, IRoomContentLoader, IRoomObject, ISessionDataManager } from '../../api';
|
||||||
import { GraphicAssetCollection, GraphicAssetGifCollection, NitroBundle, NitroEvent, NitroLogger } from '../../core';
|
import { GraphicAssetCollection, GraphicAssetGifCollection, NitroBundle, NitroEvent, NitroLogger } from '../../core';
|
||||||
import { RoomContentLoadedEvent } from '../../room/events/RoomContentLoadedEvent';
|
import { RoomContentLoadedEvent } from '../../room/events/RoomContentLoadedEvent';
|
||||||
import { Nitro } from '../Nitro';
|
import { Nitro } from '../Nitro';
|
||||||
import { IRoomContentListener } from './IRoomContentListener';
|
|
||||||
import { RoomObjectCategory } from './object/RoomObjectCategory';
|
import { RoomObjectCategory } from './object/RoomObjectCategory';
|
||||||
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
||||||
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
||||||
@ -44,7 +43,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
|
|||||||
private _wallItemTypeIds: Map<string, number>;
|
private _wallItemTypeIds: Map<string, number>;
|
||||||
private _furniRevisions: Map<string, number>;
|
private _furniRevisions: Map<string, number>;
|
||||||
private _pets: { [index: string]: number };
|
private _pets: { [index: string]: number };
|
||||||
private _petColors: Map<number, Map<number, PetColorResult>>;
|
private _petColors: Map<number, Map<number, IPetColorResult>>;
|
||||||
private _objectAliases: Map<string, string>;
|
private _objectAliases: Map<string, string>;
|
||||||
private _objectOriginalNames: Map<string, string>;
|
private _objectOriginalNames: Map<string, string>;
|
||||||
|
|
||||||
@ -255,7 +254,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getPetColorResult(petIndex: number, paletteIndex: number): PetColorResult
|
public getPetColorResult(petIndex: number, paletteIndex: number): IPetColorResult
|
||||||
{
|
{
|
||||||
const colorResults = this._petColors.get(petIndex);
|
const colorResults = this._petColors.get(petIndex);
|
||||||
|
|
||||||
@ -264,10 +263,10 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
|
|||||||
return colorResults.get(paletteIndex);
|
return colorResults.get(paletteIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getPetColorResultsForTag(petIndex: number, tagName: string): PetColorResult[]
|
public getPetColorResultsForTag(petIndex: number, tagName: string): IPetColorResult[]
|
||||||
{
|
{
|
||||||
const colorResults = this._petColors.get(petIndex);
|
const colorResults = this._petColors.get(petIndex);
|
||||||
const results: PetColorResult[] = [];
|
const results: IPetColorResult[] = [];
|
||||||
|
|
||||||
if (colorResults)
|
if (colorResults)
|
||||||
{
|
{
|
||||||
@ -303,7 +302,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
|
|||||||
return existing;
|
return existing;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getGifCollection(name: string): GraphicAssetGifCollection
|
public getGifCollection(name: string): IGraphicAssetGifCollection
|
||||||
{
|
{
|
||||||
if (!name) return null;
|
if (!name) return null;
|
||||||
|
|
||||||
@ -358,7 +357,7 @@ export class RoomContentLoader implements IFurnitureDataListener, IRoomContentLo
|
|||||||
if (petIndex !== undefined)
|
if (petIndex !== undefined)
|
||||||
{
|
{
|
||||||
const keys = collection.getPaletteNames();
|
const keys = collection.getPaletteNames();
|
||||||
const palettes: Map<number, PetColorResult> = new Map();
|
const palettes: Map<number, IPetColorResult> = new Map();
|
||||||
|
|
||||||
for (const key of keys)
|
for (const key of keys)
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { RenderTexture, Resource, Texture } from '@pixi/core';
|
import { RenderTexture, Resource, Texture } from '@pixi/core';
|
||||||
import { Container, DisplayObject } from '@pixi/display';
|
import { Container, DisplayObject } from '@pixi/display';
|
||||||
import { Matrix, Point, Rectangle } from '@pixi/math';
|
import { Matrix, Point, Rectangle } from '@pixi/math';
|
||||||
import { IConnection, IDisposable, IMessageComposer, INitroCommunicationManager, IObjectData, IRoomGeometry, IRoomInstance, IRoomManager, IRoomManagerListener, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectVisualizationFactory, IRoomRenderer, IRoomRendererFactory, IRoomRenderingCanvas, IRoomSessionManager, ISessionDataManager, IUpdateReceiver, IVector3D, RoomControllerLevel, ToolbarIconEnum } from '../../api';
|
import { IConnection, IDisposable, IFurnitureStackingHeightMap, IImageResult, ILegacyWallGeometry, IMessageComposer, INitroCommunicationManager, IObjectData, IPetColorResult, IPetCustomPart, IRoomContentListener, IRoomContentLoader, IRoomCreator, IRoomEngine, IRoomEngineServices, IRoomGeometry, IRoomInstance, IRoomManager, IRoomManagerListener, IRoomObject, IRoomObjectController, IRoomObjectLogicFactory, IRoomObjectVisualizationFactory, IRoomRenderer, IRoomRendererFactory, IRoomRenderingCanvas, IRoomSessionManager, ISelectedRoomObjectData, ISessionDataManager, ITileObjectMap, IUpdateReceiver, IVector3D, RoomControllerLevel, ToolbarIconEnum } from '../../api';
|
||||||
|
import { IGetImageListener } from '../../api/nitro/room/IGetImageListener';
|
||||||
import { NitroEvent, NitroManager } from '../../core';
|
import { NitroEvent, NitroManager } from '../../core';
|
||||||
import { NitroSprite, TextureUtils } from '../../pixi-proxy';
|
import { NitroSprite, TextureUtils } from '../../pixi-proxy';
|
||||||
import { NumberBank, RoomEnterEffect, RoomGeometry, RoomInstance, RoomObjectEvent, RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomRendererFactory, Vector3d } from '../../room';
|
import { NumberBank, RoomEnterEffect, RoomGeometry, RoomInstance, RoomObjectEvent, RoomObjectMouseEvent, RoomObjectUpdateMessage, RoomRendererFactory, Vector3d } from '../../room';
|
||||||
import { PetCustomPart } from '../avatar/pets/PetCustomPart';
|
|
||||||
import { PetFigureData } from '../avatar/pets/PetFigureData';
|
import { PetFigureData } from '../avatar/pets/PetFigureData';
|
||||||
import { RenderRoomMessageComposer, RenderRoomThumbnailMessageComposer } from '../communication';
|
import { RenderRoomMessageComposer, RenderRoomThumbnailMessageComposer } from '../communication';
|
||||||
import { NitroToolbarAnimateIconEvent } from '../events/NitroToolbarAnimateIconEvent';
|
import { NitroToolbarAnimateIconEvent } from '../events/NitroToolbarAnimateIconEvent';
|
||||||
@ -20,12 +20,7 @@ import { RoomEngineEvent } from './events/RoomEngineEvent';
|
|||||||
import { RoomEngineObjectEvent } from './events/RoomEngineObjectEvent';
|
import { RoomEngineObjectEvent } from './events/RoomEngineObjectEvent';
|
||||||
import { RoomObjectFurnitureActionEvent } from './events/RoomObjectFurnitureActionEvent';
|
import { RoomObjectFurnitureActionEvent } from './events/RoomObjectFurnitureActionEvent';
|
||||||
import { RoomToObjectOwnAvatarMoveEvent } from './events/RoomToObjectOwnAvatarMoveEvent';
|
import { RoomToObjectOwnAvatarMoveEvent } from './events/RoomToObjectOwnAvatarMoveEvent';
|
||||||
import { IGetImageListener } from './IGetImageListener';
|
|
||||||
import { ImageResult } from './ImageResult';
|
import { ImageResult } from './ImageResult';
|
||||||
import { IRoomContentListener } from './IRoomContentListener';
|
|
||||||
import { IRoomCreator } from './IRoomCreator';
|
|
||||||
import { IRoomEngine } from './IRoomEngine';
|
|
||||||
import { IRoomEngineServices } from './IRoomEngineServices';
|
|
||||||
import { ObjectAvatarCarryObjectUpdateMessage } from './messages/ObjectAvatarCarryObjectUpdateMessage';
|
import { ObjectAvatarCarryObjectUpdateMessage } from './messages/ObjectAvatarCarryObjectUpdateMessage';
|
||||||
import { ObjectAvatarChatUpdateMessage } from './messages/ObjectAvatarChatUpdateMessage';
|
import { ObjectAvatarChatUpdateMessage } from './messages/ObjectAvatarChatUpdateMessage';
|
||||||
import { ObjectAvatarDanceUpdateMessage } from './messages/ObjectAvatarDanceUpdateMessage';
|
import { ObjectAvatarDanceUpdateMessage } from './messages/ObjectAvatarDanceUpdateMessage';
|
||||||
@ -68,22 +63,17 @@ import { RoomObjectCategory } from './object/RoomObjectCategory';
|
|||||||
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
||||||
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
||||||
import { RoomObjectVisualizationFactory } from './object/RoomObjectVisualizationFactory';
|
import { RoomObjectVisualizationFactory } from './object/RoomObjectVisualizationFactory';
|
||||||
import { PetColorResult } from './PetColorResult';
|
|
||||||
import { RoomContentLoader } from './RoomContentLoader';
|
import { RoomContentLoader } from './RoomContentLoader';
|
||||||
import { RoomMessageHandler } from './RoomMessageHandler';
|
import { RoomMessageHandler } from './RoomMessageHandler';
|
||||||
import { RoomObjectEventHandler } from './RoomObjectEventHandler';
|
import { RoomObjectEventHandler } from './RoomObjectEventHandler';
|
||||||
import { RoomObjectLogicFactory } from './RoomObjectLogicFactory';
|
import { RoomObjectLogicFactory } from './RoomObjectLogicFactory';
|
||||||
import { RoomVariableEnum } from './RoomVariableEnum';
|
import { RoomVariableEnum } from './RoomVariableEnum';
|
||||||
import { FurnitureStackingHeightMap } from './utils/FurnitureStackingHeightMap';
|
|
||||||
import { LegacyWallGeometry } from './utils/LegacyWallGeometry';
|
|
||||||
import { RoomCamera } from './utils/RoomCamera';
|
import { RoomCamera } from './utils/RoomCamera';
|
||||||
import { RoomData } from './utils/RoomData';
|
import { RoomData } from './utils/RoomData';
|
||||||
import { RoomFurnitureData } from './utils/RoomFurnitureData';
|
import { RoomFurnitureData } from './utils/RoomFurnitureData';
|
||||||
import { RoomInstanceData } from './utils/RoomInstanceData';
|
import { RoomInstanceData } from './utils/RoomInstanceData';
|
||||||
import { RoomObjectBadgeImageAssetListener } from './utils/RoomObjectBadgeImageAssetListener';
|
import { RoomObjectBadgeImageAssetListener } from './utils/RoomObjectBadgeImageAssetListener';
|
||||||
import { SelectedRoomObjectData } from './utils/SelectedRoomObjectData';
|
|
||||||
import { SpriteDataCollector } from './utils/SpriteDataCollector';
|
import { SpriteDataCollector } from './utils/SpriteDataCollector';
|
||||||
import { TileObjectMap } from './utils/TileObjectMap';
|
|
||||||
|
|
||||||
export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreator, IRoomEngineServices, IRoomManagerListener, IRoomContentListener, IUpdateReceiver, IDisposable
|
export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreator, IRoomEngineServices, IRoomManagerListener, IRoomContentListener, IUpdateReceiver, IDisposable
|
||||||
{
|
{
|
||||||
@ -110,7 +100,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
private _roomSessionManager: IRoomSessionManager;
|
private _roomSessionManager: IRoomSessionManager;
|
||||||
private _roomObjectEventHandler: RoomObjectEventHandler;
|
private _roomObjectEventHandler: RoomObjectEventHandler;
|
||||||
private _roomMessageHandler: RoomMessageHandler;
|
private _roomMessageHandler: RoomMessageHandler;
|
||||||
private _roomContentLoader: RoomContentLoader;
|
private _roomContentLoader: IRoomContentLoader;
|
||||||
private _ready: boolean;
|
private _ready: boolean;
|
||||||
private _roomContentLoaderReady: boolean;
|
private _roomContentLoaderReady: boolean;
|
||||||
private _imageObjectIdBank: NumberBank;
|
private _imageObjectIdBank: NumberBank;
|
||||||
@ -1573,7 +1563,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
instanceData.setModelName(name);
|
instanceData.setModelName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getRoomTileObjectMap(k: number): TileObjectMap
|
public getRoomTileObjectMap(k: number): ITileObjectMap
|
||||||
{
|
{
|
||||||
const roomInstance = this.getRoomInstanceData(k);
|
const roomInstance = this.getRoomInstanceData(k);
|
||||||
|
|
||||||
@ -1596,7 +1586,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return instanceData.roomCamera;
|
return instanceData.roomCamera;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getSelectedRoomObjectData(roomId: number): SelectedRoomObjectData
|
public getSelectedRoomObjectData(roomId: number): ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -1605,7 +1595,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return instanceData.selectedObject;
|
return instanceData.selectedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setSelectedRoomObjectData(roomId: number, data: SelectedRoomObjectData): void
|
public setSelectedRoomObjectData(roomId: number, data: ISelectedRoomObjectData): void
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -1616,7 +1606,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
if (data) instanceData.setPlacedObject(null);
|
if (data) instanceData.setPlacedObject(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getPlacedRoomObjectData(roomId: number): SelectedRoomObjectData
|
public getPlacedRoomObjectData(roomId: number): ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -1625,7 +1615,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return instanceData.placedObject;
|
return instanceData.placedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setPlacedRoomObjectData(roomId: number, data: SelectedRoomObjectData): void
|
public setPlacedRoomObjectData(roomId: number, data: ISelectedRoomObjectData): void
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -1641,7 +1631,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
this._roomObjectEventHandler.cancelRoomObjectPlacement(this._activeRoomId);
|
this._roomObjectEventHandler.cancelRoomObjectPlacement(this._activeRoomId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getFurnitureStackingHeightMap(roomId: number): FurnitureStackingHeightMap
|
public getFurnitureStackingHeightMap(roomId: number): IFurnitureStackingHeightMap
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -1650,7 +1640,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return instanceData.furnitureStackingHeightMap;
|
return instanceData.furnitureStackingHeightMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setFurnitureStackingHeightMap(roomId: number, heightMap: FurnitureStackingHeightMap): void
|
public setFurnitureStackingHeightMap(roomId: number, heightMap: IFurnitureStackingHeightMap): void
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -1659,7 +1649,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
instanceData.setFurnitureStackingHeightMap(heightMap);
|
instanceData.setFurnitureStackingHeightMap(heightMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getLegacyWallGeometry(roomId: number): LegacyWallGeometry
|
public getLegacyWallGeometry(roomId: number): ILegacyWallGeometry
|
||||||
{
|
{
|
||||||
const instanceData = this.getRoomInstanceData(roomId);
|
const instanceData = this.getRoomInstanceData(roomId);
|
||||||
|
|
||||||
@ -2779,7 +2769,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
{
|
{
|
||||||
let type: string = null;
|
let type: string = null;
|
||||||
let colorIndex = 0;
|
let colorIndex = 0;
|
||||||
let imageResult: ImageResult = null;
|
let imageResult: IImageResult = null;
|
||||||
const scale = 1;
|
const scale = 1;
|
||||||
|
|
||||||
if (_arg_3)
|
if (_arg_3)
|
||||||
@ -2845,7 +2835,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public getRoomObjectImage(roomId: number, objectId: number, category: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0): ImageResult
|
public getRoomObjectImage(roomId: number, objectId: number, category: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0): IImageResult
|
||||||
{
|
{
|
||||||
if (!this._roomManager) return null;
|
if (!this._roomManager) return null;
|
||||||
|
|
||||||
@ -2911,7 +2901,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getFurnitureFloorIcon(typeId: number, listener: IGetImageListener, extras: string = null, objectData: IObjectData = null): ImageResult
|
public getFurnitureFloorIcon(typeId: number, listener: IGetImageListener, extras: string = null, objectData: IObjectData = null): IImageResult
|
||||||
{
|
{
|
||||||
return this.getFurnitureFloorImage(typeId, new Vector3d(), 1, listener, 0, extras, -1, -1, objectData);
|
return this.getFurnitureFloorImage(typeId, new Vector3d(), 1, listener, 0, extras, -1, -1, objectData);
|
||||||
}
|
}
|
||||||
@ -2932,12 +2922,12 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getFurnitureWallIcon(typeId: number, listener: IGetImageListener, extras: string = null): ImageResult
|
public getFurnitureWallIcon(typeId: number, listener: IGetImageListener, extras: string = null): IImageResult
|
||||||
{
|
{
|
||||||
return this.getFurnitureWallImage(typeId, new Vector3d(), 1, listener, 0, extras);
|
return this.getFurnitureWallImage(typeId, new Vector3d(), 1, listener, 0, extras);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getFurnitureFloorImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, state: number = -1, frameCount: number = -1, objectData: IObjectData = null): ImageResult
|
public getFurnitureFloorImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, state: number = -1, frameCount: number = -1, objectData: IObjectData = null): IImageResult
|
||||||
{
|
{
|
||||||
let type: string = null;
|
let type: string = null;
|
||||||
let color = '';
|
let color = '';
|
||||||
@ -2956,7 +2946,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return this.getGenericRoomObjectImage(type, color, direction, scale, listener, bgColor, extras, objectData, state, frameCount);
|
return this.getGenericRoomObjectImage(type, color, direction, scale, listener, bgColor, extras, objectData, state, frameCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getFurnitureWallImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, state: number = -1, frameCount: number = -1): ImageResult
|
public getFurnitureWallImage(typeId: number, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, state: number = -1, frameCount: number = -1): IImageResult
|
||||||
{
|
{
|
||||||
let type: string = null;
|
let type: string = null;
|
||||||
let color = '';
|
let color = '';
|
||||||
@ -2975,7 +2965,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return this.getGenericRoomObjectImage(type, color, direction, scale, listener, bgColor, extras, null, state, frameCount);
|
return this.getGenericRoomObjectImage(type, color, direction, scale, listener, bgColor, extras, null, state, frameCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getRoomObjectPetImage(typeId: number, paletteId: number, color: number, direction: IVector3D, scale: number, listener: IGetImageListener, headOnly: boolean = false, bgColor: number = 0, customParts: PetCustomPart[] = null, posture: string = null): ImageResult
|
public getRoomObjectPetImage(typeId: number, paletteId: number, color: number, direction: IVector3D, scale: number, listener: IGetImageListener, headOnly: boolean = false, bgColor: number = 0, customParts: IPetCustomPart[] = null, posture: string = null): IImageResult
|
||||||
{
|
{
|
||||||
let type: string = null;
|
let type: string = null;
|
||||||
let value = ((((typeId + ' ') + paletteId) + ' ') + color.toString(16));
|
let value = ((((typeId + ' ') + paletteId) + ' ') + color.toString(16));
|
||||||
@ -2997,7 +2987,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return this.getGenericRoomObjectImage(type, value, direction, scale, listener, bgColor, null, null, -1, -1, posture);
|
return this.getGenericRoomObjectImage(type, value, direction, scale, listener, bgColor, null, null, -1, -1, posture);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, objectData: IObjectData = null, state: number = -1, frameCount: number = -1, posture: string = null, originalId: number = -1): ImageResult
|
public getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, objectData: IObjectData = null, state: number = -1, frameCount: number = -1, posture: string = null, originalId: number = -1): IImageResult
|
||||||
{
|
{
|
||||||
if (!this._roomManager) return null;
|
if (!this._roomManager) return null;
|
||||||
|
|
||||||
@ -3137,7 +3127,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return imageResult;
|
return imageResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getGenericRoomObjectThumbnail(type: string, param: string, listener: IGetImageListener, extraData: string = null, stuffData: IObjectData = null): ImageResult
|
public getGenericRoomObjectThumbnail(type: string, param: string, listener: IGetImageListener, extraData: string = null, stuffData: IObjectData = null): IImageResult
|
||||||
{
|
{
|
||||||
if (!this._roomManager) return null;
|
if (!this._roomManager) return null;
|
||||||
|
|
||||||
@ -3564,14 +3554,14 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return (this._roomContentLoader.getCollection(name) !== null);
|
return (this._roomContentLoader.getCollection(name) !== null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getPetColorResult(petIndex: number, paletteIndex: number): PetColorResult
|
public getPetColorResult(petIndex: number, paletteIndex: number): IPetColorResult
|
||||||
{
|
{
|
||||||
if (!this._roomContentLoader) return null;
|
if (!this._roomContentLoader) return null;
|
||||||
|
|
||||||
return this._roomContentLoader.getPetColorResult(petIndex, paletteIndex);
|
return this._roomContentLoader.getPetColorResult(petIndex, paletteIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getPetColorResultsForTag(petIndex: number, tagName: string): PetColorResult[]
|
public getPetColorResultsForTag(petIndex: number, tagName: string): IPetColorResult[]
|
||||||
{
|
{
|
||||||
if (!this._roomContentLoader) return null;
|
if (!this._roomContentLoader) return null;
|
||||||
|
|
||||||
@ -3650,7 +3640,7 @@ export class RoomEngine extends NitroManager implements IRoomEngine, IRoomCreato
|
|||||||
return this._ready;
|
return this._ready;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get roomContentLoader(): RoomContentLoader
|
public get roomContentLoader(): IRoomContentLoader
|
||||||
{
|
{
|
||||||
return this._roomContentLoader;
|
return this._roomContentLoader;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IConnection, IVector3D } from '../../api';
|
import { IConnection, IRoomCreator, IVector3D } from '../../api';
|
||||||
import { Disposable } from '../../core';
|
import { Disposable } from '../../core';
|
||||||
import { Vector3d } from '../../room';
|
import { Vector3d } from '../../room';
|
||||||
import { AvatarGuideStatus } from '../avatar/enum/AvatarGuideStatus';
|
import { AvatarGuideStatus } from '../avatar/enum/AvatarGuideStatus';
|
||||||
@ -52,7 +52,6 @@ import { FurnitureFloorDataParser } from '../communication/messages/parser/room/
|
|||||||
import { FurnitureWallDataParser } from '../communication/messages/parser/room/furniture/wall/FurnitureWallDataParser';
|
import { FurnitureWallDataParser } from '../communication/messages/parser/room/furniture/wall/FurnitureWallDataParser';
|
||||||
import { RoomEntryTileMessageParser } from '../communication/messages/parser/room/mapping/RoomEntryTileMessageParser';
|
import { RoomEntryTileMessageParser } from '../communication/messages/parser/room/mapping/RoomEntryTileMessageParser';
|
||||||
import { RoomObjectType } from '../room/object/RoomObjectType';
|
import { RoomObjectType } from '../room/object/RoomObjectType';
|
||||||
import { IRoomCreator } from './IRoomCreator';
|
|
||||||
import { LegacyDataType } from './object/data/type/LegacyDataType';
|
import { LegacyDataType } from './object/data/type/LegacyDataType';
|
||||||
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
||||||
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IObjectData, IRoomCanvasMouseListener, IRoomGeometry, IRoomObject, IRoomObjectController, IVector3D, RoomObjectPlacementSource } from '../../api';
|
import { IFurnitureStackingHeightMap, ILegacyWallGeometry, IObjectData, IRoomCanvasMouseListener, IRoomEngineServices, IRoomGeometry, IRoomObject, IRoomObjectController, IRoomObjectEventManager, ISelectedRoomObjectData, IVector3D, RoomObjectPlacementSource } from '../../api';
|
||||||
import { Disposable, NitroLogger } from '../../core';
|
import { Disposable, NitroLogger } from '../../core';
|
||||||
import { RoomEnterEffect, RoomId, Vector3d } from '../../room';
|
import { RoomEnterEffect, RoomId, Vector3d } from '../../room';
|
||||||
import { RoomObjectEvent } from '../../room/events/RoomObjectEvent';
|
import { RoomObjectEvent } from '../../room/events/RoomObjectEvent';
|
||||||
@ -49,7 +49,6 @@ import { RoomObjectStateChangedEvent } from './events/RoomObjectStateChangedEven
|
|||||||
import { RoomObjectTileMouseEvent } from './events/RoomObjectTileMouseEvent';
|
import { RoomObjectTileMouseEvent } from './events/RoomObjectTileMouseEvent';
|
||||||
import { RoomObjectWallMouseEvent } from './events/RoomObjectWallMouseEvent';
|
import { RoomObjectWallMouseEvent } from './events/RoomObjectWallMouseEvent';
|
||||||
import { RoomObjectWidgetRequestEvent } from './events/RoomObjectWidgetRequestEvent';
|
import { RoomObjectWidgetRequestEvent } from './events/RoomObjectWidgetRequestEvent';
|
||||||
import { IRoomEngineServices } from './IRoomEngineServices';
|
|
||||||
import { ObjectAvatarSelectedMessage } from './messages/ObjectAvatarSelectedMessage';
|
import { ObjectAvatarSelectedMessage } from './messages/ObjectAvatarSelectedMessage';
|
||||||
import { ObjectDataUpdateMessage } from './messages/ObjectDataUpdateMessage';
|
import { ObjectDataUpdateMessage } from './messages/ObjectDataUpdateMessage';
|
||||||
import { ObjectSelectedMessage } from './messages/ObjectSelectedMessage';
|
import { ObjectSelectedMessage } from './messages/ObjectSelectedMessage';
|
||||||
@ -60,11 +59,9 @@ import { RoomObjectOperationType } from './object/RoomObjectOperationType';
|
|||||||
import { RoomObjectType } from './object/RoomObjectType';
|
import { RoomObjectType } from './object/RoomObjectType';
|
||||||
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
import { RoomObjectUserType } from './object/RoomObjectUserType';
|
||||||
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
import { RoomObjectVariable } from './object/RoomObjectVariable';
|
||||||
import { FurnitureStackingHeightMap } from './utils/FurnitureStackingHeightMap';
|
|
||||||
import { LegacyWallGeometry } from './utils/LegacyWallGeometry';
|
|
||||||
import { SelectedRoomObjectData } from './utils/SelectedRoomObjectData';
|
import { SelectedRoomObjectData } from './utils/SelectedRoomObjectData';
|
||||||
|
|
||||||
export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMouseListener
|
export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMouseListener, IRoomObjectEventManager
|
||||||
{
|
{
|
||||||
private _roomEngine: IRoomEngineServices;
|
private _roomEngine: IRoomEngineServices;
|
||||||
|
|
||||||
@ -1299,7 +1296,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleFurnitureMove(roomObject: IRoomObjectController, selectedObjectData: SelectedRoomObjectData, x: number, y: number, stackingHeightMap: FurnitureStackingHeightMap): boolean
|
private handleFurnitureMove(roomObject: IRoomObjectController, selectedObjectData: ISelectedRoomObjectData, x: number, y: number, stackingHeightMap: IFurnitureStackingHeightMap): boolean
|
||||||
{
|
{
|
||||||
if (!roomObject || !selectedObjectData) return false;
|
if (!roomObject || !selectedObjectData) return false;
|
||||||
|
|
||||||
@ -1338,7 +1335,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleWallItemMove(k: IRoomObjectController, _arg_2: SelectedRoomObjectData, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: IVector3D, _arg_6: number, _arg_7: number, _arg_8: number): boolean
|
private handleWallItemMove(k: IRoomObjectController, _arg_2: ISelectedRoomObjectData, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: IVector3D, _arg_6: number, _arg_7: number, _arg_8: number): boolean
|
||||||
{
|
{
|
||||||
if (!k || !_arg_2) return false;
|
if (!k || !_arg_2) return false;
|
||||||
|
|
||||||
@ -1353,7 +1350,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private validateFurnitureLocation(k: IRoomObject, _arg_2: IVector3D, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: FurnitureStackingHeightMap): Vector3d
|
private validateFurnitureLocation(k: IRoomObject, _arg_2: IVector3D, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: IFurnitureStackingHeightMap): Vector3d
|
||||||
{
|
{
|
||||||
if (!k || !k.model || !_arg_2) return null;
|
if (!k || !k.model || !_arg_2) return null;
|
||||||
|
|
||||||
@ -1423,7 +1420,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private validateWallItemLocation(k: IRoomObject, _arg_2: IVector3D, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: number, _arg_6: number, _arg_7: SelectedRoomObjectData): Vector3d
|
private validateWallItemLocation(k: IRoomObject, _arg_2: IVector3D, _arg_3: IVector3D, _arg_4: IVector3D, _arg_5: number, _arg_6: number, _arg_7: ISelectedRoomObjectData): Vector3d
|
||||||
{
|
{
|
||||||
if ((((((k == null) || (k.model == null)) || (_arg_2 == null)) || (_arg_3 == null)) || (_arg_4 == null)) || (_arg_7 == null)) return null;
|
if ((((((k == null) || (k.model == null)) || (_arg_2 == null)) || (_arg_3 == null)) || (_arg_4 == null)) || (_arg_7 == null)) return null;
|
||||||
|
|
||||||
@ -1990,7 +1987,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
return direction;
|
return direction;
|
||||||
}
|
}
|
||||||
|
|
||||||
private isValidLocation(object: IRoomObject, goalDirection: IVector3D, stackingHeightMap: FurnitureStackingHeightMap): boolean
|
private isValidLocation(object: IRoomObject, goalDirection: IVector3D, stackingHeightMap: IFurnitureStackingHeightMap): boolean
|
||||||
{
|
{
|
||||||
if (!object || !object.model || !goalDirection) return false;
|
if (!object || !object.model || !goalDirection) return false;
|
||||||
|
|
||||||
@ -2199,7 +2196,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private getSelectedRoomObjectData(roomId: number): SelectedRoomObjectData
|
private getSelectedRoomObjectData(roomId: number): ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
if (!this._roomEngine) return null;
|
if (!this._roomEngine) return null;
|
||||||
|
|
||||||
@ -2245,7 +2242,7 @@ export class RoomObjectEventHandler extends Disposable implements IRoomCanvasMou
|
|||||||
this._roomEngine.setSelectedRoomObjectData(roomId, selectedData);
|
this._roomEngine.setSelectedRoomObjectData(roomId, selectedData);
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleUserPlace(roomObject: IRoomObjectController, x: number, y: number, wallGeometry: LegacyWallGeometry): boolean
|
private handleUserPlace(roomObject: IRoomObjectController, x: number, y: number, wallGeometry: ILegacyWallGeometry): boolean
|
||||||
{
|
{
|
||||||
if (!wallGeometry.isRoomTile(x, y)) return false;
|
if (!wallGeometry.isRoomTile(x, y)) return false;
|
||||||
|
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
export * from './events';
|
export * from './events';
|
||||||
export * from './IGetImageListener';
|
|
||||||
export * from './ImageResult';
|
export * from './ImageResult';
|
||||||
export * from './IRoomContentListener';
|
|
||||||
export * from './IRoomCreator';
|
|
||||||
export * from './IRoomEngine';
|
|
||||||
export * from './IRoomEngineServices';
|
|
||||||
export * from './ISelectedRoomObjectData';
|
|
||||||
export * from './messages';
|
export * from './messages';
|
||||||
export * from './object';
|
export * from './object';
|
||||||
export * from './PetColorResult';
|
export * from './PetColorResult';
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
import { IRoomMapData } from '../../../api';
|
||||||
|
|
||||||
export class RoomMapData
|
export class RoomMapData implements IRoomMapData
|
||||||
{
|
{
|
||||||
private _width: number;
|
private _width: number;
|
||||||
private _height: number;
|
private _height: number;
|
||||||
@ -122,4 +123,4 @@ export class RoomMapData
|
|||||||
{
|
{
|
||||||
this._restrictedScale = scale;
|
this._restrictedScale = scale;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { RenderTexture, Texture } from '@pixi/core';
|
|||||||
import { Container, DisplayObject } from '@pixi/display';
|
import { Container, DisplayObject } from '@pixi/display';
|
||||||
import { Point, Rectangle } from '@pixi/math';
|
import { Point, Rectangle } from '@pixi/math';
|
||||||
import { Sprite } from '@pixi/sprite';
|
import { Sprite } from '@pixi/sprite';
|
||||||
import { IObjectData, IRoomObjectController, IRoomRenderingCanvas, IVector3D } from '../../../api';
|
import { IGetImageListener, IImageResult, IObjectData, IRoomEngine, IRoomObjectController, IRoomRenderingCanvas, IVector3D } from '../../../api';
|
||||||
import { NitroSprite } from '../../../pixi-proxy';
|
import { NitroSprite } from '../../../pixi-proxy';
|
||||||
import { RoomId, Vector3d } from '../../../room';
|
import { RoomId, Vector3d } from '../../../room';
|
||||||
import { FloorHeightMapMessageParser } from '../../communication/messages/parser/room/mapping/FloorHeightMapMessageParser';
|
import { FloorHeightMapMessageParser } from '../../communication/messages/parser/room/mapping/FloorHeightMapMessageParser';
|
||||||
@ -10,10 +10,6 @@ import { RoomEntryTileMessageParser } from '../../communication/messages/parser/
|
|||||||
import { Nitro } from '../../Nitro';
|
import { Nitro } from '../../Nitro';
|
||||||
import { RoomEngineEvent } from '../events/RoomEngineEvent';
|
import { RoomEngineEvent } from '../events/RoomEngineEvent';
|
||||||
import { RoomEngineObjectEvent } from '../events/RoomEngineObjectEvent';
|
import { RoomEngineObjectEvent } from '../events/RoomEngineObjectEvent';
|
||||||
import { IGetImageListener } from '../IGetImageListener';
|
|
||||||
import { ImageResult } from '../ImageResult';
|
|
||||||
import { IRoomCreator } from '../IRoomCreator';
|
|
||||||
import { IRoomEngine } from '../IRoomEngine';
|
|
||||||
import { ObjectRoomMapUpdateMessage } from '../messages/ObjectRoomMapUpdateMessage';
|
import { ObjectRoomMapUpdateMessage } from '../messages/ObjectRoomMapUpdateMessage';
|
||||||
import { LegacyDataType } from '../object/data/type/LegacyDataType';
|
import { LegacyDataType } from '../object/data/type/LegacyDataType';
|
||||||
import { RoomObjectCategory } from '../object/RoomObjectCategory';
|
import { RoomObjectCategory } from '../object/RoomObjectCategory';
|
||||||
@ -798,7 +794,7 @@ export class RoomPreviewer
|
|||||||
return renderingCanvas;
|
return renderingCanvas;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, objectData: IObjectData = null, state: number = -1, frame: number = -1, posture: string = null): ImageResult
|
public getGenericRoomObjectImage(type: string, value: string, direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0, extras: string = null, objectData: IObjectData = null, state: number = -1, frame: number = -1, posture: string = null): IImageResult
|
||||||
{
|
{
|
||||||
if (this.isRoomEngineReady)
|
if (this.isRoomEngineReady)
|
||||||
{
|
{
|
||||||
@ -808,7 +804,7 @@ export class RoomPreviewer
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getRoomObjectImage(direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0): ImageResult
|
public getRoomObjectImage(direction: IVector3D, scale: number, listener: IGetImageListener, bgColor: number = 0): IImageResult
|
||||||
{
|
{
|
||||||
if (this.isRoomEngineReady)
|
if (this.isRoomEngineReady)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export class FurnitureStackingHeightMap
|
import { IFurnitureStackingHeightMap } from '../../../api';
|
||||||
|
|
||||||
|
export class FurnitureStackingHeightMap implements IFurnitureStackingHeightMap
|
||||||
{
|
{
|
||||||
private _width: number;
|
private _width: number;
|
||||||
private _height: number;
|
private _height: number;
|
||||||
@ -16,7 +18,7 @@ export class FurnitureStackingHeightMap
|
|||||||
|
|
||||||
let total = (width * height);
|
let total = (width * height);
|
||||||
|
|
||||||
while(total > 0)
|
while (total > 0)
|
||||||
{
|
{
|
||||||
this._heights.push(0);
|
this._heights.push(0);
|
||||||
this._isNotStackable.push(false);
|
this._isNotStackable.push(false);
|
||||||
@ -29,7 +31,7 @@ export class FurnitureStackingHeightMap
|
|||||||
public dispose(): void
|
public dispose(): void
|
||||||
{
|
{
|
||||||
this._width = 0;
|
this._width = 0;
|
||||||
this._height =0;
|
this._height = 0;
|
||||||
this._height = null;
|
this._height = null;
|
||||||
this._isNotStackable = null;
|
this._isNotStackable = null;
|
||||||
this._isRoomTile = null;
|
this._isRoomTile = null;
|
||||||
@ -47,17 +49,17 @@ export class FurnitureStackingHeightMap
|
|||||||
|
|
||||||
public setTileHeight(x: number, y: number, height: number): void
|
public setTileHeight(x: number, y: number, height: number): void
|
||||||
{
|
{
|
||||||
if(this.validPosition(x, y)) this._heights[((y * this._width) + x)] = height;
|
if (this.validPosition(x, y)) this._heights[((y * this._width) + x)] = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setStackingBlocked(x: number, y: number, isNotStackable: boolean): void
|
public setStackingBlocked(x: number, y: number, isNotStackable: boolean): void
|
||||||
{
|
{
|
||||||
if(this.validPosition(x, y)) this._isNotStackable[((y * this._width) + x)] = isNotStackable;
|
if (this.validPosition(x, y)) this._isNotStackable[((y * this._width) + x)] = isNotStackable;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setIsRoomTile(x: number, y: number, isRoomTile: boolean): void
|
public setIsRoomTile(x: number, y: number, isRoomTile: boolean): void
|
||||||
{
|
{
|
||||||
if(this.validPosition(x, y)) this._isRoomTile[((y * this._width) + x)] = isRoomTile;
|
if (this.validPosition(x, y)) this._isRoomTile[((y * this._width) + x)] = isRoomTile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public validateLocation(k: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5: number, _arg_6: number, _arg_7: number, _arg_8: number, _arg_9: boolean, _arg_10: number = -1): boolean
|
public validateLocation(k: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5: number, _arg_6: number, _arg_7: number, _arg_8: number, _arg_9: boolean, _arg_10: number = -1): boolean
|
||||||
@ -65,36 +67,36 @@ export class FurnitureStackingHeightMap
|
|||||||
let _local_12 = 0;
|
let _local_12 = 0;
|
||||||
let _local_13 = 0;
|
let _local_13 = 0;
|
||||||
|
|
||||||
if(!this.validPosition(k, _arg_2) || !this.validPosition(((k + _arg_3) - 1), ((_arg_2 + _arg_4) - 1))) return false;
|
if (!this.validPosition(k, _arg_2) || !this.validPosition(((k + _arg_3) - 1), ((_arg_2 + _arg_4) - 1))) return false;
|
||||||
|
|
||||||
if(((_arg_5 < 0) || (_arg_5 >= this._width))) _arg_5 = 0;
|
if (((_arg_5 < 0) || (_arg_5 >= this._width))) _arg_5 = 0;
|
||||||
|
|
||||||
if(((_arg_6 < 0) || (_arg_6 >= this._height))) _arg_6 = 0;
|
if (((_arg_6 < 0) || (_arg_6 >= this._height))) _arg_6 = 0;
|
||||||
|
|
||||||
_arg_7 = Math.min(_arg_7, (this._width - _arg_5));
|
_arg_7 = Math.min(_arg_7, (this._width - _arg_5));
|
||||||
_arg_8 = Math.min(_arg_8, (this._height - _arg_6));
|
_arg_8 = Math.min(_arg_8, (this._height - _arg_6));
|
||||||
|
|
||||||
if(_arg_10 === -1) _arg_10 = this.getTileHeight(k, _arg_2);
|
if (_arg_10 === -1) _arg_10 = this.getTileHeight(k, _arg_2);
|
||||||
|
|
||||||
let _local_11 = _arg_2;
|
let _local_11 = _arg_2;
|
||||||
|
|
||||||
while(_local_11 < (_arg_2 + _arg_4))
|
while (_local_11 < (_arg_2 + _arg_4))
|
||||||
{
|
{
|
||||||
_local_12 = k;
|
_local_12 = k;
|
||||||
|
|
||||||
while(_local_12 < (k + _arg_3))
|
while (_local_12 < (k + _arg_3))
|
||||||
{
|
{
|
||||||
if(((((_local_12 < _arg_5) || (_local_12 >= (_arg_5 + _arg_7))) || (_local_11 < _arg_6)) || (_local_11 >= (_arg_6 + _arg_8))))
|
if (((((_local_12 < _arg_5) || (_local_12 >= (_arg_5 + _arg_7))) || (_local_11 < _arg_6)) || (_local_11 >= (_arg_6 + _arg_8))))
|
||||||
{
|
{
|
||||||
_local_13 = ((_local_11 * this._width) + _local_12);
|
_local_13 = ((_local_11 * this._width) + _local_12);
|
||||||
|
|
||||||
if(_arg_9)
|
if (_arg_9)
|
||||||
{
|
{
|
||||||
if(!this._isRoomTile[_local_13]) return false;
|
if (!this._isRoomTile[_local_13]) return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(((this._isNotStackable[_local_13]) || (!(this._isRoomTile[_local_13]))) || (Math.abs((this._heights[_local_13] - _arg_10)) > 0.01)) return false;
|
if (((this._isNotStackable[_local_13]) || (!(this._isRoomTile[_local_13]))) || (Math.abs((this._heights[_local_13] - _arg_10)) > 0.01)) return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,4 +118,4 @@ export class FurnitureStackingHeightMap
|
|||||||
{
|
{
|
||||||
return this._height;
|
return this._height;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { IVector3D } from '../../../api';
|
import { ILegacyWallGeometry, IVector3D } from '../../../api';
|
||||||
import { Vector3d } from '../../../room';
|
import { Vector3d } from '../../../room';
|
||||||
|
|
||||||
export class LegacyWallGeometry
|
export class LegacyWallGeometry implements ILegacyWallGeometry
|
||||||
{
|
{
|
||||||
public static DEFAULT_SCALE: number = 32;
|
public static DEFAULT_SCALE: number = 32;
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import { FurnitureStackingHeightMap } from './FurnitureStackingHeightMap';
|
import { IFurnitureStackingHeightMap, ILegacyWallGeometry, ISelectedRoomObjectData, ITileObjectMap } from '../../../api';
|
||||||
import { LegacyWallGeometry } from './LegacyWallGeometry';
|
import { LegacyWallGeometry } from './LegacyWallGeometry';
|
||||||
import { RoomCamera } from './RoomCamera';
|
import { RoomCamera } from './RoomCamera';
|
||||||
import { RoomFurnitureData } from './RoomFurnitureData';
|
import { RoomFurnitureData } from './RoomFurnitureData';
|
||||||
import { SelectedRoomObjectData } from './SelectedRoomObjectData';
|
|
||||||
import { TileObjectMap } from './TileObjectMap';
|
import { TileObjectMap } from './TileObjectMap';
|
||||||
|
|
||||||
export class RoomInstanceData
|
export class RoomInstanceData
|
||||||
@ -10,12 +9,12 @@ export class RoomInstanceData
|
|||||||
private _roomId: number;
|
private _roomId: number;
|
||||||
|
|
||||||
private _modelName: string;
|
private _modelName: string;
|
||||||
private _legacyGeometry: LegacyWallGeometry;
|
private _legacyGeometry: ILegacyWallGeometry;
|
||||||
private _tileObjectMap: TileObjectMap;
|
private _tileObjectMap: ITileObjectMap;
|
||||||
private _roomCamera: RoomCamera;
|
private _roomCamera: RoomCamera;
|
||||||
private _selectedObject: SelectedRoomObjectData;
|
private _selectedObject: ISelectedRoomObjectData;
|
||||||
private _placedObject: SelectedRoomObjectData;
|
private _placedObject: ISelectedRoomObjectData;
|
||||||
private _furnitureStackingHeightMap: FurnitureStackingHeightMap;
|
private _furnitureStackingHeightMap: IFurnitureStackingHeightMap;
|
||||||
|
|
||||||
private _floorStack: Map<number, RoomFurnitureData>;
|
private _floorStack: Map<number, RoomFurnitureData>;
|
||||||
private _wallStack: Map<number, RoomFurnitureData>;
|
private _wallStack: Map<number, RoomFurnitureData>;
|
||||||
@ -48,9 +47,9 @@ export class RoomInstanceData
|
|||||||
this._modelName = name;
|
this._modelName = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setSelectedObject(data: SelectedRoomObjectData): void
|
public setSelectedObject(data: ISelectedRoomObjectData): void
|
||||||
{
|
{
|
||||||
if(this._selectedObject)
|
if (this._selectedObject)
|
||||||
{
|
{
|
||||||
this._selectedObject.dispose();
|
this._selectedObject.dispose();
|
||||||
}
|
}
|
||||||
@ -58,9 +57,9 @@ export class RoomInstanceData
|
|||||||
this._selectedObject = data;
|
this._selectedObject = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setPlacedObject(data: SelectedRoomObjectData): void
|
public setPlacedObject(data: ISelectedRoomObjectData): void
|
||||||
{
|
{
|
||||||
if(this._placedObject)
|
if (this._placedObject)
|
||||||
{
|
{
|
||||||
this._placedObject.dispose();
|
this._placedObject.dispose();
|
||||||
}
|
}
|
||||||
@ -68,15 +67,15 @@ export class RoomInstanceData
|
|||||||
this._placedObject = data;
|
this._placedObject = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setFurnitureStackingHeightMap(heightMap: FurnitureStackingHeightMap): void
|
public setFurnitureStackingHeightMap(heightMap: IFurnitureStackingHeightMap): void
|
||||||
{
|
{
|
||||||
if(this._furnitureStackingHeightMap) this._furnitureStackingHeightMap.dispose();
|
if (this._furnitureStackingHeightMap) this._furnitureStackingHeightMap.dispose();
|
||||||
|
|
||||||
this._furnitureStackingHeightMap = heightMap;
|
this._furnitureStackingHeightMap = heightMap;
|
||||||
|
|
||||||
if(this._tileObjectMap) this._tileObjectMap.dispose();
|
if (this._tileObjectMap) this._tileObjectMap.dispose();
|
||||||
|
|
||||||
if(this._furnitureStackingHeightMap)
|
if (this._furnitureStackingHeightMap)
|
||||||
{
|
{
|
||||||
this._tileObjectMap = new TileObjectMap(this._furnitureStackingHeightMap.width, this._furnitureStackingHeightMap.height);
|
this._tileObjectMap = new TileObjectMap(this._furnitureStackingHeightMap.width, this._furnitureStackingHeightMap.height);
|
||||||
}
|
}
|
||||||
@ -84,7 +83,7 @@ export class RoomInstanceData
|
|||||||
|
|
||||||
public addPendingFurnitureFloor(data: RoomFurnitureData): void
|
public addPendingFurnitureFloor(data: RoomFurnitureData): void
|
||||||
{
|
{
|
||||||
if(!data) return;
|
if (!data) return;
|
||||||
|
|
||||||
this._floorStack.delete(data.id);
|
this._floorStack.delete(data.id);
|
||||||
this._floorStack.set(data.id, data);
|
this._floorStack.set(data.id, data);
|
||||||
@ -94,7 +93,7 @@ export class RoomInstanceData
|
|||||||
{
|
{
|
||||||
const existing = this._floorStack.get(id);
|
const existing = this._floorStack.get(id);
|
||||||
|
|
||||||
if(!existing) return null;
|
if (!existing) return null;
|
||||||
|
|
||||||
this._floorStack.delete(id);
|
this._floorStack.delete(id);
|
||||||
|
|
||||||
@ -105,7 +104,7 @@ export class RoomInstanceData
|
|||||||
{
|
{
|
||||||
const existing = this._floorStack.get(id);
|
const existing = this._floorStack.get(id);
|
||||||
|
|
||||||
if(!existing) return null;
|
if (!existing) return null;
|
||||||
|
|
||||||
this._floorStack.delete(id);
|
this._floorStack.delete(id);
|
||||||
|
|
||||||
@ -114,7 +113,7 @@ export class RoomInstanceData
|
|||||||
|
|
||||||
public getNextPendingFurnitureFloor(): RoomFurnitureData
|
public getNextPendingFurnitureFloor(): RoomFurnitureData
|
||||||
{
|
{
|
||||||
if(!this._floorStack.size) return null;
|
if (!this._floorStack.size) return null;
|
||||||
|
|
||||||
const keys = this._floorStack.keys();
|
const keys = this._floorStack.keys();
|
||||||
|
|
||||||
@ -123,7 +122,7 @@ export class RoomInstanceData
|
|||||||
|
|
||||||
public addPendingFurnitureWall(data: RoomFurnitureData): void
|
public addPendingFurnitureWall(data: RoomFurnitureData): void
|
||||||
{
|
{
|
||||||
if(!data) return;
|
if (!data) return;
|
||||||
|
|
||||||
this._wallStack.delete(data.id);
|
this._wallStack.delete(data.id);
|
||||||
this._wallStack.set(data.id, data);
|
this._wallStack.set(data.id, data);
|
||||||
@ -133,7 +132,7 @@ export class RoomInstanceData
|
|||||||
{
|
{
|
||||||
const existing = this._wallStack.get(id);
|
const existing = this._wallStack.get(id);
|
||||||
|
|
||||||
if(!existing) return null;
|
if (!existing) return null;
|
||||||
|
|
||||||
this._wallStack.delete(id);
|
this._wallStack.delete(id);
|
||||||
|
|
||||||
@ -144,7 +143,7 @@ export class RoomInstanceData
|
|||||||
{
|
{
|
||||||
const existing = this._wallStack.get(id);
|
const existing = this._wallStack.get(id);
|
||||||
|
|
||||||
if(!existing) return null;
|
if (!existing) return null;
|
||||||
|
|
||||||
this._wallStack.delete(id);
|
this._wallStack.delete(id);
|
||||||
|
|
||||||
@ -153,7 +152,7 @@ export class RoomInstanceData
|
|||||||
|
|
||||||
public getNextPendingFurnitureWall(): RoomFurnitureData
|
public getNextPendingFurnitureWall(): RoomFurnitureData
|
||||||
{
|
{
|
||||||
if(!this._wallStack.size) return null;
|
if (!this._wallStack.size) return null;
|
||||||
|
|
||||||
const keys = this._wallStack.keys();
|
const keys = this._wallStack.keys();
|
||||||
|
|
||||||
@ -164,7 +163,7 @@ export class RoomInstanceData
|
|||||||
{
|
{
|
||||||
const _local_2 = this._mouseButtonCursorOwners.indexOf(k);
|
const _local_2 = this._mouseButtonCursorOwners.indexOf(k);
|
||||||
|
|
||||||
if(_local_2 === -1)
|
if (_local_2 === -1)
|
||||||
{
|
{
|
||||||
this._mouseButtonCursorOwners.push(k);
|
this._mouseButtonCursorOwners.push(k);
|
||||||
|
|
||||||
@ -178,7 +177,7 @@ export class RoomInstanceData
|
|||||||
{
|
{
|
||||||
const _local_2 = this._mouseButtonCursorOwners.indexOf(k);
|
const _local_2 = this._mouseButtonCursorOwners.indexOf(k);
|
||||||
|
|
||||||
if(_local_2 > -1)
|
if (_local_2 > -1)
|
||||||
{
|
{
|
||||||
this._mouseButtonCursorOwners.splice(_local_2, 1);
|
this._mouseButtonCursorOwners.splice(_local_2, 1);
|
||||||
|
|
||||||
@ -203,12 +202,12 @@ export class RoomInstanceData
|
|||||||
return this._modelName;
|
return this._modelName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get legacyGeometry(): LegacyWallGeometry
|
public get legacyGeometry(): ILegacyWallGeometry
|
||||||
{
|
{
|
||||||
return this._legacyGeometry;
|
return this._legacyGeometry;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get tileObjectMap(): TileObjectMap
|
public get tileObjectMap(): ITileObjectMap
|
||||||
{
|
{
|
||||||
return this._tileObjectMap;
|
return this._tileObjectMap;
|
||||||
}
|
}
|
||||||
@ -218,17 +217,17 @@ export class RoomInstanceData
|
|||||||
return this._roomCamera;
|
return this._roomCamera;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get selectedObject(): SelectedRoomObjectData
|
public get selectedObject(): ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
return this._selectedObject;
|
return this._selectedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get placedObject(): SelectedRoomObjectData
|
public get placedObject(): ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
return this._placedObject;
|
return this._placedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get furnitureStackingHeightMap(): FurnitureStackingHeightMap
|
public get furnitureStackingHeightMap(): IFurnitureStackingHeightMap
|
||||||
{
|
{
|
||||||
return this._furnitureStackingHeightMap;
|
return this._furnitureStackingHeightMap;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { IObjectData, IVector3D } from '../../../api';
|
import { IObjectData, ISelectedRoomObjectData, IVector3D } from '../../../api';
|
||||||
import { Vector3d } from '../../../room';
|
import { Vector3d } from '../../../room';
|
||||||
import { ISelectedRoomObjectData } from '../ISelectedRoomObjectData';
|
|
||||||
|
|
||||||
export class SelectedRoomObjectData implements ISelectedRoomObjectData
|
export class SelectedRoomObjectData implements ISelectedRoomObjectData
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { IRoomObject } from '../../../api';
|
import { IRoomObject, ITileObjectMap } from '../../../api';
|
||||||
import { NitroLogger } from '../../../core';
|
import { NitroLogger } from '../../../core';
|
||||||
import { RoomObjectVariable } from '../object/RoomObjectVariable';
|
import { RoomObjectVariable } from '../object/RoomObjectVariable';
|
||||||
|
|
||||||
export class TileObjectMap
|
export class TileObjectMap implements ITileObjectMap
|
||||||
{
|
{
|
||||||
private _tileObjectMap: Map<number, Map<number, IRoomObject>>;
|
private _tileObjectMap: Map<number, Map<number, IRoomObject>>;
|
||||||
private _width: number;
|
private _width: number;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { INitroCommunicationManager, IRoomHandlerListener, IRoomSession, IRoomSessionManager } from '../../api';
|
import { INitroCommunicationManager, IRoomEngine, IRoomHandlerListener, IRoomSession, IRoomSessionManager } from '../../api';
|
||||||
import { NitroManager } from '../../core';
|
import { NitroManager } from '../../core';
|
||||||
import { RoomEngineEvent } from '../room/events/RoomEngineEvent';
|
import { RoomEngineEvent } from '../room/events/RoomEngineEvent';
|
||||||
import { IRoomEngine } from '../room/IRoomEngine';
|
|
||||||
import { RoomSessionEvent } from './events/RoomSessionEvent';
|
import { RoomSessionEvent } from './events/RoomSessionEvent';
|
||||||
import { BaseHandler } from './handler/BaseHandler';
|
import { BaseHandler } from './handler/BaseHandler';
|
||||||
import { GenericErrorHandler } from './handler/GenericErrorHandler';
|
import { GenericErrorHandler } from './handler/GenericErrorHandler';
|
||||||
|
Loading…
Reference in New Issue
Block a user