using Content.Client.Trigger.Systems; using Robust.Client.Animations; using Robust.Shared.Audio; namespace Content.Client.Trigger.Components; [RegisterComponent] [Access(typeof(TimerTriggerVisualizerSystem))] public sealed partial class TimerTriggerVisualsComponent : Component { /// /// The key used to index the priming animation. /// [ViewVariables] public const string AnimationKey = "priming_animation"; /// /// The RSI state used while the device has not been primed. /// [DataField] public string UnprimedSprite = "icon"; /// /// The RSI state used when the device is primed. /// Not VVWrite-able because it's only used at component init to construct the priming animation. /// [DataField] public string PrimingSprite = "primed"; /// /// The sound played when the device is primed. /// Not VVWrite-able because it's only used at component init to construct the priming animation. /// [DataField, ViewVariables] public SoundSpecifier? PrimingSound; /// /// The actual priming animation. /// Constructed at component init from the sprite and sound. /// [ViewVariables] public Animation PrimingAnimation = default!; }