DeviceListComponent.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Content.Shared.DeviceNetwork.Systems;
  2. using Robust.Shared.GameStates;
  3. namespace Content.Shared.DeviceNetwork.Components;
  4. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
  5. [Access(typeof(SharedDeviceListSystem))]
  6. public sealed partial class DeviceListComponent : Component
  7. {
  8. /// <summary>
  9. /// The list of devices can or can't connect to, depending on the <see cref="IsAllowList"/> field.
  10. /// </summary>
  11. [DataField, AutoNetworkedField]
  12. public HashSet<EntityUid> Devices = new();
  13. /// <summary>
  14. /// The limit of devices that can be linked to this device list.
  15. /// </summary>
  16. [ViewVariables(VVAccess.ReadWrite)]
  17. [DataField]
  18. public int DeviceLimit = 32;
  19. /// <summary>
  20. /// Whether the device list is used as an allow or deny list
  21. /// </summary>
  22. [ViewVariables(VVAccess.ReadWrite)]
  23. [DataField, AutoNetworkedField]
  24. public bool IsAllowList = true;
  25. /// <summary>
  26. /// Whether this device list also handles incoming device net packets
  27. /// </summary>
  28. [ViewVariables(VVAccess.ReadWrite)]
  29. [DataField, AutoNetworkedField]
  30. public bool HandleIncomingPackets;
  31. [DataField, Access(typeof(SharedNetworkConfiguratorSystem))]
  32. public HashSet<EntityUid> Configurators = new();
  33. }