using System.Collections.Generic;
using SimpleLite.RCS.CarTypes;
using StandardScene.Signal.Model;
using StandardScene.Signal.Plc;
namespace StandardScene.Signal.Logic
{
///
/// 无条件放行点。对齐反编译 StarSignManage / StartSignModel。
///
///
/// 车在配置站点停稳且 为 true 时:停充并启动,不读 PLC。
/// 用于任务在某点停住、充完电或人工暂停后需要自动续跑的站点。
/// 机构口应配握手点,不要同时配放行点——扫车线程在握手 Handler 之后仍会执行本方法,可能提前开走。
///
public static class ReleasePointHandler
{
/// 按当前站点号查放行表;未配置或未启用则什么都不做。
public static void OnStopped(Car car, int sit, IReadOnlyDictionary points)
{
if (points == null || !points.TryGetValue(sit, out var p) || p == null || !p.IsUse)
return;
SignalCarAdapter.StopCharge(car);
SignalCarAdapter.Start(car);
}
}
}