using Content.Shared.VendingMachines; namespace Content.Client.VendingMachines; [RegisterComponent] [ComponentReference(typeof(SharedVendingMachineComponent))] [Access(typeof(VendingMachineSystem))] public sealed class VendingMachineComponent : SharedVendingMachineComponent { /// /// RSI state for when the vending machine is unpowered. /// Will be displayed on the layer /// [DataField("offState")] public string? OffState; /// /// RSI state for the screen of the vending machine /// Will be displayed on the layer /// [DataField("screenState")] public string? ScreenState; /// /// RSI state for the vending machine's normal state. Usually a looping animation. /// Will be displayed on the layer /// [DataField("normalState")] public string? NormalState; /// /// RSI state for the vending machine's eject animation. /// Will be displayed on the layer /// [DataField("ejectState")] public string? EjectState; /// /// RSI state for the vending machine's deny animation. Will either be played once as sprite flick /// or looped depending on how is set. /// Will be displayed on the layer /// [DataField("denyState")] public string? DenyState; /// /// RSI state for when the vending machine is unpowered. /// Will be displayed on the layer /// [DataField("brokenState")] public string? BrokenState; /// /// If set to true (default) will loop the animation of the for the duration /// of . If set to false will play a sprite /// flick animation for the state and then linger on the final frame until the end of the delay. /// [DataField("loopDeny")] public bool LoopDenyAnimation = true; }