156 lines
3.7 KiB
C#
156 lines
3.7 KiB
C#
using ActiveProtect.Models;
|
|
|
|
namespace ActiveProtect.SimulationEnvironment
|
|
{
|
|
/// <summary>
|
|
/// 仿真事件的基类
|
|
/// </summary>
|
|
public class SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 事件发送者的ID
|
|
/// </summary>
|
|
public string? SenderId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 事件发生的时间戳
|
|
/// </summary>
|
|
public double Timestamp { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 导弹发射事件
|
|
/// </summary>
|
|
public class MissileFireEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 目标ID
|
|
/// </summary>
|
|
public string? TargetId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光照射事件
|
|
/// </summary>
|
|
public class LaserIlluminationEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 目标ID
|
|
/// </summary>
|
|
public string? TargetId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光干扰事件
|
|
/// </summary>
|
|
public class LaserJammingEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 目标ID
|
|
/// </summary>
|
|
public string? TargetId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 干扰功率
|
|
/// </summary>
|
|
public double JammingPower { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 实体销毁事件
|
|
/// </summary>
|
|
public class EntityDestroyedEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 被销毁实体的ID
|
|
/// </summary>
|
|
public string? DestroyedEntityId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光照射停止事件
|
|
/// </summary>
|
|
public class LaserIlluminationStopEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 目标ID
|
|
/// </summary>
|
|
public string? TargetId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光告警器警报事件
|
|
/// </summary>
|
|
public class LaserWarnerAlarmEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 目标ID
|
|
/// </summary>
|
|
public string? TargetId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光告警器警报停止事件
|
|
/// </summary>
|
|
public class LaserWarnerAlarmStopEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 目标ID
|
|
/// </summary>
|
|
public string? TargetId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 实体激活事件
|
|
/// </summary>
|
|
public class EntityActivatedEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 被激活实体的ID
|
|
/// </summary>
|
|
public string? ActivatedEntityId { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 实体停用事件
|
|
/// </summary>
|
|
public class EntityDeactivatedEvent : SimulationEvent
|
|
{
|
|
/// <summary>
|
|
/// 被停用实体的ID
|
|
/// </summary>
|
|
public string? DeactivatedEntityId { get; set; }
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 激光开始事件
|
|
/// </summary>
|
|
public class LaserBeamStartEvent : SimulationEvent
|
|
{
|
|
public required Vector3D SourcePosition { get; set; }
|
|
public required Vector3D LaserDirection { get; set; }
|
|
public required double LaserPower { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光停止事件
|
|
/// </summary>
|
|
public class LaserBeamStopEvent : SimulationEvent
|
|
{
|
|
public required Vector3D SourcePosition { get; set; }
|
|
public required Vector3D LaserDirection { get; set; }
|
|
public required double LaserPower { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 激光更新事件
|
|
/// </summary>
|
|
public class LaserBeamUpdateEvent : SimulationEvent
|
|
{
|
|
public required Vector3D SourcePosition { get; set; }
|
|
public required Vector3D LaserDirection { get; set; }
|
|
public required double LaserPower { get; set; }
|
|
}
|
|
}
|