import { Point } from './Point'; export interface IAStarMap { width(): number; height(): number; canPass(point: Point): boolean; canPass(x: number, y: number): boolean; extraWeight(point: Point): number; } export declare class Rect { x: number; y: number; width: number; height: number; } declare class AStarNode { ParentNode: AStarNode | null; CurTilePos: Point; G: number; H: number; constructor(node: AStarNode | null, tilePos: Point); F(): number; } export declare class AStar { protected _markList: Array; protected _markedList: Array; protected _routes: Array; protected _maxTileWidth: number; protected _maxTileHeight: number; /** * 先y在x,p(x:1,y:2),data[2][1] */ protected _mapData: IAStarMap; getRoutes(srcTilePos: Point, tarTilePos: Point, mapData: IAStarMap): Point[]; protected _routing(srcTilePos: Point, tarTilePos: Point): AStarNode | null; protected _isInMark(tilePos: Point): boolean; protected _addToMark(curTilePos: Point, tarTilePos: Point, parentAStarNode: AStarNode): void; } export {};