using System; using System.Threading; using System.Threading.Tasks; namespace StandardScene.Magnetic.Tasking { /// /// FASS 2.0 车型与 LoopMission 衔接接口。 /// LoopMission 仍通过 goalSite 标签分配目标;车型侧负责一次全程任务执行。 /// public interface IFass2LoopCar { bool IsTaskIdle { get; } bool HasGoalSite { get; } int? GoalSiteId { get; } /// 执行 goalSite(或指定目标)对应的全程 FASS 2.0 任务。 Task ExecuteGoalTaskAsync(int? goalSiteId = null, double defaultSpeed = -1, CancellationToken cancellationToken = default); /// 任务到达终点后触发,参数为到达站 ID。 event Action TaskCompleted; } }