using System;
using System.Collections.Generic;
using SimpleCore.Navigation;
using StandardScene.CarTypes;

namespace StandardScene.Magnetic
{
    /// <summary>
    /// scene.mag 平台画像：磁导航场景插件。
    /// <para>车型为磁导航专用 <see cref="MagCar"/>（与下位机通过 UDP 协议交互）；路径由
    /// MagneticTrackCoder 生成 agv.MagGo / agv.NaiveMagGo 脚本（按 track.Magnet 触发）。</para>
    /// 宿主（SimpleLite）加载本 dll 后反射实例化并 OnActivate / 注册。
    /// </summary>
    public sealed class MagneticSceneProfile : NavigationProfileBase
    {
        public override NavKind Kind => NavKind.Magnetic;

        public override string SceneId => "scene.mag";

        public override string DisplayName => "磁导航平台";

        public override IReadOnlyList<Type> CarTypes => new[]
        {
            typeof(MagCar),
        };

        public override void OnActivate(ISceneContext context)
        {
            context.Log($"{DisplayName} 已激活（车型：磁导航车 MagCar）");
        }
    }
}
