using System;
using System.ComponentModel;
using System.Drawing;

namespace AGVNavigationCore.Models
{
    /// <summary>
    /// 맵 상의 마크(Mark) 정보를 나타내는 클래스
    /// </summary>
    public class MapMark : NodeBase
    {
        // Id is inherited from NodeBase
        public MapMark() {
            Type = NodeType.Mark;
        }    

        [Category("위치 정보")]
        [Description("마크의 X 좌표")]
        public double X
        {
            get => Position.X;
            set => Position = new Point((int)value, Position.Y);
        }

        [Category("위치 정보")]
        [Description("마크의 Y 좌표")]
        public double Y
        {
            get => Position.Y;
            set => Position = new Point(Position.X, (int)value);
        }

        [Category("위치 정보")]
        [Description("마크의 회전 각도")]
        public double Rotation { get; set; }

        [Category("위치 정보")]
        [Description("마크의 길이")]
        public double Length { get; set; } = 20.0;
    }
}
