using Content.Shared.DeviceLinking; using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.DeviceLinking.Components; [RegisterComponent] public sealed partial class SignalTimerComponent : Component { [DataField, ViewVariables(VVAccess.ReadWrite)] public double Delay = 5; /// /// This shows the Label: text box in the UI. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public bool CanEditLabel = true; /// /// The label, used for TextScreen visuals currently. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public string Label = string.Empty; /// /// The port that gets signaled when the timer triggers. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public ProtoId TriggerPort = "Timer"; /// /// The port that gets signaled when the timer starts. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public ProtoId StartPort = "Start"; [DataField, ViewVariables(VVAccess.ReadWrite)] public ProtoId Trigger = "Trigger"; /// /// If not null, this timer will play this sound when done. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier? DoneSound; }