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;
}