namespace Content.Shared.Trigger; /// /// Raised whenever something is Triggered on the entity. /// /// The entity that activated the trigger. /// /// Allows to have multiple independent triggers on the same entity. /// Setting this to null will activate all triggers. /// /// Marks the event as handled if at least one trigger effect was activated. [ByRefEvent] public record struct TriggerEvent(EntityUid? User = null, string? Key = null, bool Handled = false); /// /// Raised before a trigger is activated. /// Cancelling prevents it from triggering. /// /// The entity that activated the trigger. /// /// Allows to have multiple independent triggers on the same entity. /// Setting this to null will activate all triggers. /// /// Marks the event as handled if at least one trigger effect was activated. [ByRefEvent] public record struct AttemptTriggerEvent(EntityUid? User, string? Key = null, bool Cancelled = false); /// /// Raised when a timer trigger becomes active. /// /// The entity that activated the trigger. [ByRefEvent] public readonly record struct ActiveTimerTriggerEvent(EntityUid? User);