using RobotNet.RobotShares.Enums;

namespace RobotNet.RobotShares.Dtos;

public class TrafficNodeDto
{
    public Guid Id { get; set; }
    public string Name { get; set; } = "";
    public double X { get; set; }
    public double Y { get; set; }
    public double Theta { get; set; }
    public bool IsAvoidableNode {  get; set; }
    public RobotDirection Direction { get; set; }
    public TrafficNodeDto[][] AvoidablePaths { get; set; } = [];
    public TrafficLockedShapeDto LockedShapes { get; set; } = new();
    public override bool Equals(object? obj)
    {
        if (obj is TrafficNodeDto other)
            return Id == other.Id;
        return false;
    }

    public override int GetHashCode()
    {
        return HashCode.Combine(Id);
    }
}
