1
0

SharedDeviceListSystem.cs 842 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System.Linq;
  2. using Content.Shared.DeviceNetwork.Components;
  3. namespace Content.Shared.DeviceNetwork.Systems;
  4. public abstract class SharedDeviceListSystem : EntitySystem
  5. {
  6. public IEnumerable<EntityUid> GetAllDevices(EntityUid uid, DeviceListComponent? component = null)
  7. {
  8. if (!Resolve(uid, ref component))
  9. {
  10. return new EntityUid[] { };
  11. }
  12. return component.Devices;
  13. }
  14. }
  15. public sealed class DeviceListUpdateEvent : EntityEventArgs
  16. {
  17. public DeviceListUpdateEvent(List<EntityUid> oldDevices, List<EntityUid> devices)
  18. {
  19. OldDevices = oldDevices;
  20. Devices = devices;
  21. }
  22. public List<EntityUid> OldDevices { get; }
  23. public List<EntityUid> Devices { get; }
  24. }
  25. public enum DeviceListUpdateResult : byte
  26. {
  27. NoComponent,
  28. TooManyDevices,
  29. UpdateOk
  30. }