using Content.Shared.Whitelist; using Robust.Shared.GameStates; namespace Content.Shared.Placeable; /// /// Detects items placed on it that match a whitelist. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(ItemPlacerSystem))] public sealed partial class ItemPlacerComponent : Component { /// /// The entities that are currently on top of the placer. /// Guaranteed to have less than enitities if it is set. /// [DataField, AutoNetworkedField] public HashSet PlacedEntities = new(); /// /// Whitelist for entities that can be placed. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public EntityWhitelist? Whitelist; /// /// The max amount of entities that can be placed at the same time. /// If 0, there is no limit. /// [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public uint MaxEntities = 1; }