using StandardScene.Magnetic.Protocol;
using System.Collections.Generic;

namespace StandardScene.Magnetic.Tasking
{
    public sealed class Fass2TaskBuildOptions
    {
        public bool UseTagValueAsNode { get; set; }
        public double DefaultSpeed { get; set; } = 12;
        public double CarSpeed { get; set; } = 1;
        public int MaxNodesPerFrame { get; set; } = 10;
    }

    /// <summary>
    /// 一次 FASS 2.0 路径任务计划：站点序列、节点报文、分批结果。
    /// </summary>
    public sealed class Fass2TaskPlan
    {
        public int StartSiteId { get; set; }
        public int GoalSiteId { get; set; }
        public IReadOnlyList<int> SiteIds { get; set; } = new List<int>();
        public IReadOnlyList<Fass2NodeMessage> Nodes { get; set; } = new List<Fass2NodeMessage>();
        public IReadOnlyList<Fass2NodeMessage[]> Batches { get; set; } = new List<Fass2NodeMessage[]>();
        public string FieldsSignature { get; set; } = string.Empty;
    }
}
