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