using Content.Shared.Containers.ItemSlots; using Content.Shared.Sound; namespace Content.Server.Cabinet { /// /// Used for entities that can be opened, closed, and can hold one item. E.g., fire extinguisher cabinets. /// [RegisterComponent] public sealed class ItemCabinetComponent : Component { /// /// Sound to be played when the cabinet door is opened. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("doorSound", required: true)] public SoundSpecifier DoorSound { get; set; } = default!; /// /// The that stores the actual item. The entity whitelist, sounds, and other /// behaviours are specified by this definition. /// [DataField("cabinetSlot")] public ItemSlot CabinetSlot = new(); /// /// Whether the cabinet is currently open or not. /// [ViewVariables] [DataField("opened")] public bool Opened { get; set; } = false; } }