using Content.Server.DeviceLinking.Components; namespace Content.Server.DeviceLinking.Systems; /// /// This handles automatically linking autolinked entities at round-start. /// public sealed class AutoLinkSystem : EntitySystem { [Dependency] private readonly DeviceLinkSystem _deviceLinkSystem = default!; /// public override void Initialize() { SubscribeLocalEvent(OnAutoLinkMapInit); } private void OnAutoLinkMapInit(EntityUid uid, AutoLinkTransmitterComponent component, MapInitEvent args) { var xform = Transform(uid); foreach (var receiver in EntityQuery()) { if (receiver.AutoLinkChannel != component.AutoLinkChannel) continue; // Not ours. var rxXform = Transform(receiver.Owner); if (rxXform.GridUid != xform.GridUid) continue; _deviceLinkSystem.LinkDefaults(null, uid, receiver.Owner); } } }