Portable Generator Rework (#19302)

This commit is contained in:
Pieter-Jan Briers
2023-08-25 20:40:42 +02:00
committed by GitHub
parent 50828363fe
commit bf16698efa
73 changed files with 1933 additions and 473 deletions

View File

@@ -395,11 +395,7 @@ namespace Content.Server.Power.EntitySystems
}
}
foreach (var consumer in net.Consumers)
{
netNode.Loads.Add(consumer.NetworkLoad.Id);
consumer.NetworkLoad.LinkedNetwork = netNode.Id;
}
DoReconnectBasePowerNet(net, netNode);
var batteryQuery = GetEntityQuery<PowerNetworkBatteryComponent>();
@@ -420,17 +416,7 @@ namespace Content.Server.Power.EntitySystems
netNode.BatteryLoads.Clear();
netNode.BatterySupplies.Clear();
foreach (var consumer in net.Consumers)
{
netNode.Loads.Add(consumer.NetworkLoad.Id);
consumer.NetworkLoad.LinkedNetwork = netNode.Id;
}
foreach (var supplier in net.Suppliers)
{
netNode.Supplies.Add(supplier.NetworkSupply.Id);
supplier.NetworkSupply.LinkedNetwork = netNode.Id;
}
DoReconnectBasePowerNet(net, netNode);
var batteryQuery = GetEntityQuery<PowerNetworkBatteryComponent>();
@@ -448,6 +434,22 @@ namespace Content.Server.Power.EntitySystems
battery.NetworkBattery.LinkedNetworkDischarging = netNode.Id;
}
}
private void DoReconnectBasePowerNet<TNetType>(BasePowerNet<TNetType> net, PowerState.Network netNode)
where TNetType : IBasePowerNet
{
foreach (var consumer in net.Consumers)
{
netNode.Loads.Add(consumer.NetworkLoad.Id);
consumer.NetworkLoad.LinkedNetwork = netNode.Id;
}
foreach (var supplier in net.Suppliers)
{
netNode.Supplies.Add(supplier.NetworkSupply.Id);
supplier.NetworkSupply.LinkedNetwork = netNode.Id;
}
}
}
/// <summary>