using Content.Shared.DeviceNetwork.Systems;
using Robust.Shared.GameStates;
namespace Content.Shared.DeviceNetwork.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
[Access(typeof(SharedDeviceListSystem))]
public sealed partial class DeviceListComponent : Component
{
///
/// The list of devices can or can't connect to, depending on the field.
///
[DataField, AutoNetworkedField]
public HashSet Devices = new();
///
/// The limit of devices that can be linked to this device list.
///
[ViewVariables(VVAccess.ReadWrite)]
[DataField]
public int DeviceLimit = 32;
///
/// Whether the device list is used as an allow or deny list
///
[ViewVariables(VVAccess.ReadWrite)]
[DataField, AutoNetworkedField]
public bool IsAllowList = true;
///
/// Whether this device list also handles incoming device net packets
///
[ViewVariables(VVAccess.ReadWrite)]
[DataField, AutoNetworkedField]
public bool HandleIncomingPackets;
[DataField, Access(typeof(SharedNetworkConfiguratorSystem))]
public HashSet Configurators = new();
}