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

namespace StandardScene.Magnetic
{
    /// <summary>
    /// scene.mag 平台画像：磁导航场景插件。
    /// <para>车型：<see cref="MagCar"/>（FASS 1.0 TCP）、<see cref="Mag2Car"/>（FASS 2.0 UDP/任务状态机）。
    /// Loop 导航：继续使用 Core <c>LoopMission</c> 或本插件 <c>Mag2LoopMission</c> 分配 <c>goalSite</c>，
    /// <see cref="Mag2Car"/> 拦截编译脚本后一次下发全程 <c>0xB1</c>。</para>
    /// 宿主（Simple3）加载本 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),
            typeof(Mag2Car),
        };

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