/// <param name="start">The cell to start at.</param>\r
/// <param name="finish">The desired destination.</param>\r
/// <returns>A list of points representing the path through the grid,\r
- /// ends points not included, or null if no path could be found.</return>\r
+ /// starting point not included, or null if no path could be found.</return>\r
public List<Point> GetPath(Point start, Point finish)\r
{\r
return GetPath(start, finish, GetManhattanDistance, GetCost);\r
/// <param name="finish">The desired destination.</param>\r
/// <param name="heuristic">The heuristic function.</param>\r
/// <returns>A list of points representing the path through the grid,\r
- /// ends points not included, or null if no path could be found.</return>\r
+ /// starting point not included, or null if no path could be found.</return>\r
public List<Point> GetPath(Point start, Point finish, Heuristic heuristic)\r
{\r
return GetPath(start, finish, heuristic, GetCost);\r
/// <param name="finish">The desired destination.</param>\r
/// <param name="costFunction">The cost function</param>\r
/// <returns>A list of points representing the path through the grid,\r
- /// ends points not included, or null if no path could be found.</return>\r
+ /// starting point not included, or null if no path could be found.</return>\r
public List<Point> GetPath(Point start, Point finish, CostFunction costFunction)\r
{\r
return GetPath(start, finish, GetManhattanDistance, costFunction);\r
/// <param name="heuristic">The heuristic function.</param>\r
/// <param name="costFunction">The cost function.</param>\r
/// <returns>A list of points representing the path through the grid,\r
- /// ends points not included, or null if no path could be found.</return>\r
+ /// starting point not included, or null if no path could be found.</return>\r
public List<Point> GetPath(Point start, Point finish, Heuristic heuristic, CostFunction costFunction)\r
{\r
mFringe = new BinaryHeap<Cell>();\r
if (cell.Point == finish)\r
{\r
List<Point> list = new List<Point>();\r
+ list.Add(cell.Point);\r
\r
cell = cell.Parent;\r
- while (cell != null && cell.Point != start)\r
- {\r
- list.Add(cell.Point);\r
- cell = cell.Parent;\r
- }\r
+ if (cell != null) for (; cell.Point != start; cell = cell.Parent) list.Add(cell.Point);\r
\r
list.Reverse();\r
return list;\r