@infernus/map-loader
Version:
A tool for obj conversion, parsing, and loading
54 lines (47 loc) • 1.96 kB
TypeScript
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 };