using Content.Shared.DoAfter; 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("sample", 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 { } /// /// An event to apply DNA evidence from a donor onto some recipient. /// [ByRefEvent] public record struct TransferDnaEvent() { /// /// The entity donating the DNA. /// public EntityUid Donor; /// /// The entity receiving the DNA. /// public EntityUid Recipient; /// /// Can the DNA be cleaned off? /// public bool CanDnaBeCleaned = true; } /// /// An event to generate and act upon new DNA for an entity. /// [ByRefEvent] public record struct GenerateDnaEvent() { /// /// The entity getting new DNA. /// public EntityUid Owner; /// /// The generated DNA. /// public string DNA; }