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