More machine linking related map changes (#18246)

This commit is contained in:
Leon Friedrich
2023-07-24 13:29:57 +12:00
committed by GitHub
parent d7a6baf0c1
commit a4063a5e33
5 changed files with 2 additions and 148 deletions

View File

@@ -160,22 +160,7 @@ namespace Content.Server.MachineLinking.System
private void OnReceiverStartup(EntityUid uid, SignalReceiverComponent receiver, ComponentStartup args)
{
// validate links
Dictionary<EntityUid, SignalTransmitterComponent?> uidCache = new();
foreach (var rport in receiver.Inputs)
{
var toRemove = new List<PortIdentifier>();
foreach (var tport in rport.Value)
{
if (!uidCache.TryGetValue(tport.Uid, out var transmitter))
uidCache.Add(tport.Uid, transmitter = CompOrNull<SignalTransmitterComponent>(tport.Uid));
if (transmitter == null || !transmitter.Outputs.TryGetValue(tport.Port, out var tpv))
toRemove.Add(tport);
else if (!tpv.Contains(new(uid, rport.Key)))
tpv.Add(new(uid, rport.Key));
}
toRemove.ForEach(tport => rport.Value.Remove(tport));
}
RemCompDeferred<SignalReceiverComponent>(uid);
}
private void OnTransmitterRemoved(EntityUid uid, SignalTransmitterComponent transmitter, ComponentRemove args)