using ActiveProtect.Models; namespace ActiveProtect.SimulationEnvironment { /// /// 仿真事件的基类 /// public class SimulationEvent { /// /// 事件发送者的ID /// public string? SenderId { get; set; } /// /// 事件发生的时间戳 /// public double Timestamp { get; set; } } /// /// 导弹发射事件 /// public class MissileFireEvent : SimulationEvent { /// /// 目标ID /// public string? TargetId { get; set; } } /// /// 激光照射事件 /// public class LaserIlluminationStartEvent : SimulationEvent { /// /// 激光定位器 /// public LaserDesignator? LaserDesignator { get; set; } /// /// 目标元素 /// public SimulationElement? Target { get; set; } } /// /// 激光照射更新事件 /// public class LaserIlluminationUpdateEvent : SimulationEvent { /// /// 激光定位器 /// public LaserDesignator? LaserDesignator { get; set; } /// /// 目标元素 /// public SimulationElement? Target { get; set; } } /// public class LaserIlluminationStopEvent : SimulationEvent { public LaserDesignator? LaserDesignator { get; set; } public SimulationElement? Target { get; set; } } /// /// 激光干扰事件 /// public class LaserJammingEvent : SimulationEvent { /// /// 目标ID /// public string? TargetId { get; set; } /// /// 干扰功率 /// public double JammingPower { get; set; } } /// /// 实体销毁事件 /// public class EntityDestroyedEvent : SimulationEvent { /// /// 被销毁实体的ID /// public string? DestroyedEntityId { get; set; } } /// /// 激光告警器警报事件 /// public class LaserWarnerAlarmEvent : SimulationEvent { /// /// 目标ID /// public string? TargetId { get; set; } } /// /// 激光告警器警报停止事件 /// public class LaserWarnerAlarmStopEvent : SimulationEvent { /// /// 目标ID /// public string? TargetId { get; set; } } /// /// 实体激活事件 /// public class EntityActivatedEvent : SimulationEvent { /// /// 被激活实体的ID /// public string? ActivatedEntityId { get; set; } } /// /// 实体停用事件 /// public class EntityDeactivatedEvent : SimulationEvent { /// /// 被停用实体的ID /// public string? DeactivatedEntityId { get; set; } } /// /// 激光开始事件 /// public class LaserBeamStartEvent : SimulationEvent { public LaserBeamRider? LaserBeamRider { get; set; } } /// /// 激光更新事件 /// public class LaserBeamUpdateEvent : SimulationEvent { public LaserBeamRider? LaserBeamRider { get; set; } } /// /// 激光停止事件 /// public class LaserBeamStopEvent : SimulationEvent { public LaserBeamRider? LaserBeamRider { get; set; } } /// /// 红外指令制导事件 /// public class InfraredGuidanceCommandEvent : SimulationEvent { /// /// 目标导弹ID /// public string? TargetMissileId { get; set; } /// /// 视线向量 /// public Vector3D TrackerToTargetVector { get; set; } = Vector3D.Zero; /// /// 视线向量 /// public Vector3D TrackerToMissileVector { get; set; } = Vector3D.Zero; } /// /// 红外指令制导导弹点亮红外热源事件 /// public class InfraredGuidanceMissileLightEvent : SimulationEvent { /// /// 红外热源辐射功率(瓦特) /// public double RadiationPower { get; set; } } /// /// 红外指令制导导弹熄灭红外热源事件 /// public class InfraredGuidanceMissileLightOffEvent : SimulationEvent { } }