UNPKG

@infernus/map-loader

Version:
54 lines (47 loc) 1.96 kB
import { DynamicObject, Player } from '@infernus/core'; type RemoveBuildingArgs = Array<Parameters<InstanceType<typeof Player>["removeBuilding"]>>; interface IMapLoadOptions { source: string | ((done: () => void) => Promise<string[]>); xOffset?: number; yOffset?: number; zOffset?: number; playerId?: number | number[]; worldId?: number | number[]; areaId?: number | number[]; interiorId?: number | number[]; priority?: number; streamDistance?: number; drawDistance?: number; overwrite?: boolean; charset?: string; onLoaded?: (objects: DynamicObject[], removedBuilding: RemoveBuildingArgs) => void; onUnloaded?: (removedBuilding: RemoveBuildingArgs) => void; } interface IMapInfo { options: IMapLoadOptions; objects: DynamicObject[]; _rmvBuildingIdx: number; } interface InternalMapConfig { removedBuilding: RemoveBuildingArgs[]; loadedMaps: Map<number, IMapInfo>; } interface IMapExporterOptions { output: string; removeOutput?: boolean; } interface IMapConverterOptions extends IMapExporterOptions { input: string; } declare const INVALID_MAP_ID = -1; declare function mapConverter(options: IMapConverterOptions): Promise<void>; declare function mapExporter(options: IMapExporterOptions): Promise<void>; declare function loadMap(options: IMapLoadOptions): Promise<number>; declare function unloadMap(mapId: number): number; declare function reloadMap(mapId: number): void; declare function reloadMaps(): void; declare function getMapCount(): number; declare function getMapIDFromObject(obj: DynamicObject): number; declare function getMapInfoFromID(id: number): IMapInfo | undefined; export { INVALID_MAP_ID, getMapCount, getMapIDFromObject, getMapInfoFromID, loadMap, mapConverter, mapExporter, reloadMap, reloadMaps, unloadMap }; export type { IMapConverterOptions, IMapExporterOptions, IMapInfo, IMapLoadOptions, InternalMapConfig, RemoveBuildingArgs };