namespace ActiveProtect.SimulationEnvironment { public class SimulationEvent { public string? SenderId { get; set; } public double Timestamp { get; set; } } public class MissileFireEvent : SimulationEvent { public string? TargetId { get; set; } } public class LaserIlluminationEvent : SimulationEvent { public string? TargetId { get; set; } } public class LaserJammingEvent : SimulationEvent { public string? TargetId { get; set; } public double JammingPower { get; set; } } public class EntityDestroyedEvent : SimulationEvent { public string? DestroyedEntityId { get; set; } } public class LaserIlluminationStopEvent : SimulationEvent { public string? TargetId { get; set; } } public class EntityActivatedEvent : SimulationEvent { public string? ActivatedEntityId { get; set; } } public class EntityDeactivatedEvent : SimulationEvent { public string? DeactivatedEntityId { get; set; } } }