using Content.Shared.Singularity.Components;
namespace Content.Server.Singularity.Events;
///
/// Event raised on the target entity whenever an event horizon attempts to consume an entity.
/// Can be cancelled to prevent the target entity from being consumed.
///
[ByRefEvent]
public record struct EventHorizonAttemptConsumeEntityEvent
(EntityUid entity, EntityUid eventHorizonUid, EventHorizonComponent eventHorizon)
{
///
/// The entity that the event horizon is attempting to consume.
///
public readonly EntityUid Entity = entity;
///
/// The uid of the event horizon consuming the entity.
///
public readonly EntityUid EventHorizonUid = eventHorizonUid;
///
/// The event horizon consuming the target entity.
///
public readonly EventHorizonComponent EventHorizon = eventHorizon;
///
/// Whether the event horizon has been prevented from consuming the target entity.
///
public bool Cancelled = false;
}