1using System.Collections.Generic;
35 ThreadPool.QueueUserWorkItem(delegate
49 tempProgress.walker = walker;
50 tempProgress.moveType =
MoveType.Default;
54 return tempProgress.nodes.Count < radius;
61 tempProgress.walker = walker;
62 tempProgress.moveType = moveType;
84 tempProgress.walker = walker;
85 tempProgress.moveType = moveType;
95 if (pathFinderNode.
X == origin.
x && pathFinderNode.
Z == origin.
z && nodes.Count > 1)
97 pathFinderNode = nodes[nodes.Count - 2];
99 if (Mathf.Abs(pathFinderNode.
X - origin.
x) > 1 || Mathf.Abs(pathFinderNode.
Z - origin.
z) > 1)
103 Point point =
new Point(pathFinderNode.
X, pathFinderNode.
Z);
104 if (point.
x == origin.
x && point.
z == origin.
z)
void RequestPathImmediate(PathProgress progress)
Point GetFirstStep(Point origin, Point _dest, IPathfindWalker walker, int maxDist=20, MoveType moveType=MoveType.Default)
void RequestPath(PathProgress progress)
Point _GetFirstStep(Point origin, Point dest, IPathfindWalker walker, int maxDist=20, MoveType moveType=MoveType.Default)
PathProgress RequestPathImmediate(Point origin, Point dest, IPathfindWalker walker, MoveType moveType=MoveType.Default, int searchLimit=-1, int destDist=0)
static PathManager Instance
bool IsPathClear(Point origin, Point dest, IPathfindWalker walker, int radius)
static PathProgress tempProgress
List< PathFinderNode > nodes
void RequestPathImmediate(Point _startPoint, Point _destPoint, int _destDist, bool _ignoreConnection, int _searchLimit=-1)
void Start(PathProgress progress)
void FindPath(PathProgress progress)