mirror of
https://github.com/Ellpeck/MLEM.git
synced 2024-11-22 20:58:34 +01:00
use infinite cost for astar
This commit is contained in:
parent
f4bec17448
commit
38725d7267
1 changed files with 2 additions and 1 deletions
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
|||
namespace MLEM.Pathfinding {
|
||||
public abstract class AStar<T> {
|
||||
|
||||
public static readonly float InfiniteCost = float.PositiveInfinity;
|
||||
public readonly T[] AllDirections;
|
||||
public readonly T[] AdjacentDirections;
|
||||
public GetCost DefaultCostFunction;
|
||||
|
@ -65,7 +66,7 @@ namespace MLEM.Pathfinding {
|
|||
foreach (var dir in dirsUsed) {
|
||||
var neighborPos = this.AddPositions(current.Pos, dir);
|
||||
var cost = getCost(current.Pos, neighborPos);
|
||||
if (cost < float.MaxValue) {
|
||||
if (!float.IsInfinity(cost) && cost < float.MaxValue) {
|
||||
var neighbor = new PathPoint<T>(neighborPos, this.GetManhattanDistance(neighborPos, goal), current, cost, defCost);
|
||||
if (!closed.Contains(neighbor)) {
|
||||
var alreadyIndex = open.IndexOf(neighbor);
|
||||
|
|
Loading…
Reference in a new issue