16 return this._pathfinder;
23 PathManager.Instance =
this;
31 ThreadPool.QueueUserWorkItem(delegate(
object a)
41 this.pathfinder.FindPath(progress);
47 PathManager.tempProgress.walker = walker;
48 PathManager.tempProgress.moveType =
PathManager.MoveType.Default;
49 PathManager.tempProgress.RequestPathImmediate(origin, dest, 0,
false, -1);
50 return PathManager.tempProgress.nodes.Count > 0 && PathManager.tempProgress.nodes.Count < radius;
56 PathManager.tempProgress.walker = walker;
57 PathManager.tempProgress.moveType = moveType;
58 PathManager.tempProgress.RequestPathImmediate(origin, dest, destDist,
false, searchLimit);
65 Point dest = _dest.Copy();
66 Point point = this._GetFirstStep(origin, dest, walker, maxDist, moveType);
77 if (!dest.IsValid || (dest.cell.blocked && origin.Distance(dest) <= 1))
81 PathManager.tempProgress.walker = walker;
82 PathManager.tempProgress.moveType = moveType;
83 PathManager.tempProgress.RequestPathImmediate(origin, dest, (moveType ==
PathManager.MoveType.Combat) ? 1 : 0,
false, maxDist);
88 List<PathFinderNode> nodes =
PathManager.tempProgress.nodes;
94 if (pathFinderNode.X == origin.x && pathFinderNode.Z == origin.z && nodes.Count > 1)
96 pathFinderNode = nodes[nodes.Count - 2];
98 if (Mathf.Abs(pathFinderNode.X - origin.x) > 1 || Mathf.Abs(pathFinderNode.Z - origin.z) > 1)
100 return Point.Invalid;
102 Point point =
new Point(pathFinderNode.X, pathFinderNode.Z);
103 if (point.x == origin.x && point.z == origin.z)
105 return Point.Invalid;
111 public void OnGridModified()
116 public static int requestCount;
128 public int searchLimit = 1000000;