using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Medical.Components; /// /// After scanning, retrieves the target Uid to use with its related UI. /// /// /// Requires ItemToggleComponent. /// [RegisterComponent, AutoGenerateComponentPause] [Access(typeof(HealthAnalyzerSystem), typeof(CryoPodSystem))] public sealed partial class HealthAnalyzerComponent : Component { /// /// When should the next update be sent for the patient /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; /// /// The delay between patient health updates /// [DataField] public TimeSpan UpdateInterval = TimeSpan.FromSeconds(1); /// /// How long it takes to scan someone. /// [DataField] public TimeSpan ScanDelay = TimeSpan.FromSeconds(0.8); /// /// Which entity has been scanned, for continuous updates /// [DataField] public EntityUid? ScannedEntity; /// /// The maximum range in tiles at which the analyzer can receive continuous updates /// [DataField] public float MaxScanRange = 2.5f; /// /// Sound played on scanning begin /// [DataField] public SoundSpecifier? ScanningBeginSound; /// /// Sound played on scanning end /// [DataField] public SoundSpecifier? ScanningEndSound; }