UNPKG

arx-level-generator

Version:
63 lines (62 loc) 2.16 kB
import { ArxAnchor, ArxCell, ArxDLF, ArxFTS, ArxLLF, ArxRoom, ArxRoomDistance, ArxUniqueHeader } from 'arx-convert/types'; import { Object3D } from 'three'; import { Entities } from './Entities.js'; import { Fogs } from './Fogs.js'; import { HUD } from './HUD.js'; import { Lights } from './Lights.js'; import { Paths } from './Paths.js'; import { Player } from './Player.js'; import { MeshImportProps, Polygons } from './Polygons.js'; import { Portal } from './Portal.js'; import { Settings } from './Settings.js'; import { Translations } from './Translations.js'; import { UI } from './UI.js'; import { Vector3 } from './Vector3.js'; import { Zones } from './Zones.js'; import { OriginalLevel } from './types.js'; type ArxMapConfig = { isFinalized: boolean; offset: Vector3; }; type ToBeSortedLater = { uniqueHeaders: ArxUniqueHeader[]; cells: Omit<ArxCell, 'polygons'>[]; anchors: ArxAnchor[]; rooms: ArxRoom[]; roomDistances: ArxRoomDistance[]; }; export declare class ArxMap { polygons: Polygons; lights: Lights; fogs: Fogs; entities: Entities; zones: Zones; paths: Paths; player: Player; portals: Portal[]; config: ArxMapConfig; hud: HUD; ui: UI; i18n: Translations; todo: ToBeSortedLater; constructor(dlf?: ArxDLF, fts?: ArxFTS, llf?: ArxLLF, areNormalsCalculated?: boolean); private toArxData; /** * Loads one of the levels found in the original game * * Requires the pkware-test-files repo * @see https://github.com/meszaros-lajos-gyorgy/pkware-test-files */ static fromOriginalLevel(levelIdx: OriginalLevel, settings: Settings): Promise<ArxMap>; static fromThreeJsMesh(threeJsObj: Object3D, meshImportProps: MeshImportProps): ArxMap; private static getGeneratorId; finalize(): void; removePortals(): void; private movePolygonsToSameRoom; private calculateRoomData; saveToDisk(settings: Settings, exportJsonFiles?: boolean, prettify?: boolean): Promise<void>; adjustOffsetTo(map: ArxMap): void; move(offset: Vector3): void; add(map: ArxMap, alignPolygons?: boolean): void; } export {};