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;
}