Parameters
- start: RoomPosition[]
- options: {
allOfDestinations?: { pos: RoomPosition; range: number }[];
anyOfDestinations?: { pos: RoomPosition; range: number }[];
costMatrixCallback: (room: string) => undefined | ClockworkCostMatrix;
maxOps?: number;
maxPathCost?: number;
maxRooms?: number;
}
Returns {
distanceMap: ClockworkMultiroomDistanceMap;
foundTargets: RoomPosition[];
ops: number;
}
A multi-room distance map.
Create a distance map for the given start positions, using a breadth-first search. This does not factor in terrain costs (treating anything less than 255 in the cost matrix as passable), so it's faster but less useful than Dijkstra's algorithm.
This calculates a distance map across multiple rooms, with a few configurable limits:
maxOps
: The maximum number of pathfinding operations to perform.maxRooms
: The maximum number of rooms to explore.maxPathCost
: Don't explore tiles with a greater path cost than this.At least one of these limits must be set.