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