using Content.Server.Power.NodeGroups; namespace Content.Server.Power.Components { [RegisterComponent] [ComponentProtoName("PowerProvider")] public sealed class ApcPowerProviderComponent : BaseApcNetComponent { [ViewVariables] public List LinkedReceivers { get; } = new(); public void AddReceiver(ApcPowerReceiverComponent receiver) { LinkedReceivers.Add(receiver); receiver.NetworkLoad.LinkedNetwork = default; Net?.QueueNetworkReconnect(); } public void RemoveReceiver(ApcPowerReceiverComponent receiver) { LinkedReceivers.Remove(receiver); receiver.NetworkLoad.LinkedNetwork = default; Net?.QueueNetworkReconnect(); } protected override void AddSelfToNet(IApcNet apcNet) { apcNet.AddPowerProvider(this); } protected override void RemoveSelfFromNet(IApcNet apcNet) { apcNet.RemovePowerProvider(this); } } }