using Content.Server.Storage.EntitySystems; using Content.Server.Toilet; using Content.Shared.Containers.ItemSlots; using Content.Shared.Item; using Robust.Shared.Containers; namespace Content.Server.Storage.Components { /// /// Logic for a secret slot stash, like plant pot or toilet cistern. /// Unlike it doesn't have interaction logic or verbs. /// Other classes like should implement it. /// [RegisterComponent] [Access(typeof(SecretStashSystem))] public sealed class SecretStashComponent : Component { private string _secretPartName = string.Empty; /// /// Max item size that can be fitted into secret stash. /// [ViewVariables] [DataField("maxItemSize")] public int MaxItemSize = (int) ReferenceSizes.Pocket; /// /// IC secret stash name. For example "the toilet cistern". /// If empty string, will replace it with entity name in init. /// [ViewVariables] [DataField("secretPartName", readOnly: true)] public string SecretPartName { get => _secretPartName; set => _secretPartName = Loc.GetString(value); } /// /// Container used to keep secret stash item. /// [ViewVariables] public ContainerSlot ItemContainer = default!; } }