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); var query = EntityQueryEnumerator(); while (query.MoveNext(out var receiverUid, out var receiver)) { if (receiver.AutoLinkChannel != component.AutoLinkChannel) continue; // Not ours. var rxXform = Transform(receiverUid); if (rxXform.GridUid != xform.GridUid) continue; _deviceLinkSystem.LinkDefaults(null, uid, receiverUid); } } }