using System.Linq; using Content.Shared.DeviceNetwork.Components; namespace Content.Shared.DeviceNetwork.Systems; public abstract class SharedDeviceListSystem : EntitySystem { public IEnumerable GetAllDevices(EntityUid uid, DeviceListComponent? component = null) { if (!Resolve(uid, ref component)) { return new EntityUid[] { }; } return component.Devices; } } public sealed class DeviceListUpdateEvent : EntityEventArgs { public DeviceListUpdateEvent(List oldDevices, List devices) { OldDevices = oldDevices; Devices = devices; } public List OldDevices { get; } public List Devices { get; } } public enum DeviceListUpdateResult : byte { NoComponent, TooManyDevices, UpdateOk }