Files
tbd-station-14/Content.Server/Medical/Components/HealthAnalyzerComponent.cs
2022-03-14 13:51:42 -07:00

37 lines
1.3 KiB
C#

using System.Threading;
using Content.Server.UserInterface;
using Content.Shared.MedicalScanner;
using Content.Shared.Disease;
using Robust.Server.GameObjects;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Medical.Components
{
/// <summary>
/// After scanning, retrieves the target Uid to use with its related UI.
/// </summary>
[RegisterComponent]
[ComponentReference(typeof(SharedHealthAnalyzerComponent))]
public sealed class HealthAnalyzerComponent : SharedHealthAnalyzerComponent
{
/// <summary>
/// How long it takes to scan someone.
/// </summary>
[DataField("scanDelay")]
[ViewVariables]
public float ScanDelay = 0.8f;
/// <summary>
/// Token for interrupting scanning do after.
/// </summary>
public CancellationTokenSource? CancelToken;
public BoundUserInterface? UserInterface => Owner.GetUIOrNull(HealthAnalyzerUiKey.Key);
/// <summary>
/// The disease this will give people.
/// </summary>
[DataField("disease", customTypeSerializer: typeof(PrototypeIdSerializer<DiseasePrototype>))]
[ViewVariables(VVAccess.ReadWrite)]
public string? Disease;
}
}