namespace RobotNet.RobotManager.Services.Planner.AStar; #nullable disable public class AStarNode { public Guid Id { get; set; } public double X { get; set; } public double Y { get; set; } public double Cost { get; set; } public double Heuristic { get; set; } public double TotalCost => Cost + Heuristic; public string Name { get; set; } public AStarNode Parent { get; set; } public List NegativeNodes { get; set; } = []; public override bool Equals(object obj) { if (obj is AStarNode other) return Id == other.Id; return false; } public override int GetHashCode() { return HashCode.Combine(Id); } }