using Content.Shared.DoAfter; using Content.Shared.Forensics.Components; using Content.Shared.Inventory; using Robust.Shared.Serialization; namespace Content.Shared.Forensics; [Serializable, NetSerializable] public sealed partial class ForensicScannerDoAfterEvent : SimpleDoAfterEvent { } [Serializable, NetSerializable] public sealed partial class ForensicPadDoAfterEvent : DoAfterEvent { [DataField(required: true)] public string Sample = default!; private ForensicPadDoAfterEvent() { } public ForensicPadDoAfterEvent(string sample) { Sample = sample; } public override DoAfterEvent Clone() => this; } [Serializable, NetSerializable] public sealed partial class CleanForensicsDoAfterEvent : SimpleDoAfterEvent; /// /// Raised on an entity when its DNA has been changed. /// [ByRefEvent] public record struct GenerateDnaEvent(EntityUid Owner, string DNA) { /// /// The entity getting new DNA. /// public EntityUid Owner = Owner; /// /// The generated DNA. /// public string DNA = DNA; } /// /// An event to check if the fingerprint is accessible. /// public sealed class TryAccessFingerprintEvent : CancellableEntityEventArgs, IInventoryRelayEvent { SlotFlags IInventoryRelayEvent.TargetSlots => SlotFlags.WITHOUT_POCKET; /// /// Entity that blocked access. /// public EntityUid? Blocker; }