using System.Threading; using Robust.Shared.Audio; namespace Content.Server.Anomaly.Components; /// /// This is used for scanning anomalies and /// displaying information about them in the ui /// [RegisterComponent] public sealed class AnomalyScannerComponent : Component { /// /// The anomaly that was last scanned by this scanner. /// [ViewVariables] public EntityUid? ScannedAnomaly; /// /// How long the scan takes /// [DataField("scanDoAfterDuration")] public float ScanDoAfterDuration = 5; public CancellationTokenSource? TokenSource; /// /// The sound plays when the scan finished /// [DataField("completeSound")] public SoundSpecifier? CompleteSound = new SoundPathSpecifier("/Audio/Items/beep.ogg"); } public sealed class AnomalyScanFinishedEvent : EntityEventArgs { public EntityUid Anomaly; public EntityUid User; public AnomalyScanFinishedEvent(EntityUid anomaly, EntityUid user) { Anomaly = anomaly; User = user; } } public sealed class AnomalyScanCancelledEvent : EntityEventArgs { }