using System.ComponentModel;

namespace StandardScene.Signal.Model
{
    /// <summary>
    /// 放行点配置。对应反编译 <c>StartSignModel</c>。
    /// </summary>
    /// <remarks>
    /// 车停在 <see cref="Sit"/> 且 <see cref="IsUse"/> 为 true 时，进程停充并启动，不读 PLC。
    /// 同一站点不要同时配握手点：扫车先握手再放行，可能把还在等允许进入的车开走。
    /// 站点号不能重复，列表编辑器用 Sit 做主键。
    /// </remarks>
    [SignalTable("release", "release-points.json", "放行点", Order = 4)]
    [Category("放行点数据管理")]
    [DisplayName("放行点配置列表")]
    public class ReleasePointModel
    {
        /// <summary>要自动放行的地图站点号。</summary>
        [DisplayName("放行站点")]
        public int Sit { get; set; }

        /// <summary>false 时该条保留在 JSON 里但不生效，方便现场临时关掉某个点。</summary>
        [DisplayName("启用")]
        public bool IsUse { get; set; } = true;
    }
}
