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

@@ -49,8 +49,7 @@ public sealed class DeviceLinkSystem : SharedDeviceLinkSystem
foreach (var receiverPort in receiverPorts) foreach (var receiverPort in receiverPorts)
{ {
// Throw error if component is missing. // Throw error if component is missing.
Comp<DeviceLinkSinkComponent>(receiverPort.Uid); EnsureComp<DeviceLinkSinkComponent>(receiverPort.Uid);
RemCompDeferred<SignalReceiverComponent>(receiverPort.Uid);
outputs.GetOrNew(receiverPort.Uid).Add((transmitterPort, receiverPort.Port)); outputs.GetOrNew(receiverPort.Uid).Add((transmitterPort, receiverPort.Port));
} }
} }

View File

@@ -160,22 +160,7 @@ namespace Content.Server.MachineLinking.System
private void OnReceiverStartup(EntityUid uid, SignalReceiverComponent receiver, ComponentStartup args) private void OnReceiverStartup(EntityUid uid, SignalReceiverComponent receiver, ComponentStartup args)
{ {
// validate links RemCompDeferred<SignalReceiverComponent>(uid);
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));
}
} }
private void OnTransmitterRemoved(EntityUid uid, SignalTransmitterComponent transmitter, ComponentRemove args) private void OnTransmitterRemoved(EntityUid uid, SignalTransmitterComponent transmitter, ComponentRemove args)

View File

@@ -128102,11 +128102,6 @@ entities:
- links: - links:
- 10622 - 10622
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 188 - uid: 188
components: components:
- pos: -17.5,-7.5 - pos: -17.5,-7.5
@@ -128115,11 +128110,6 @@ entities:
- links: - links:
- 10622 - 10622
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 552 - uid: 552
components: components:
- pos: -17.5,-13.5 - pos: -17.5,-13.5
@@ -128128,11 +128118,6 @@ entities:
- links: - links:
- 11555 - 11555
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 1022 - uid: 1022
components: components:
- rot: 3.141592653589793 rad - rot: 3.141592653589793 rad
@@ -128291,11 +128276,6 @@ entities:
- links: - links:
- 19870 - 19870
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 6206 - uid: 6206
components: components:
- rot: 3.141592653589793 rad - rot: 3.141592653589793 rad
@@ -128305,11 +128285,6 @@ entities:
- links: - links:
- 4898 - 4898
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 6467 - uid: 6467
components: components:
- pos: -17.5,-10.5 - pos: -17.5,-10.5
@@ -128354,11 +128329,6 @@ entities:
- links: - links:
- 4898 - 4898
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 6746 - uid: 6746
components: components:
- rot: 3.141592653589793 rad - rot: 3.141592653589793 rad
@@ -128368,11 +128338,6 @@ entities:
- links: - links:
- 19870 - 19870
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 6772 - uid: 6772
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -128418,11 +128383,6 @@ entities:
- links: - links:
- 10621 - 10621
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 6813 - uid: 6813
components: components:
- rot: 1.5707963267948966 rad - rot: 1.5707963267948966 rad
@@ -128450,11 +128410,6 @@ entities:
- links: - links:
- 10621 - 10621
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 7086 - uid: 7086
components: components:
- rot: 1.5707963267948966 rad - rot: 1.5707963267948966 rad
@@ -128491,11 +128446,6 @@ entities:
- links: - links:
- 11555 - 11555
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 8161 - uid: 8161
components: components:
- rot: 1.5707963267948966 rad - rot: 1.5707963267948966 rad

View File

@@ -10231,11 +10231,6 @@ entities:
- links: - links:
- 5685 - 5685
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 2835 - uid: 2835
components: components:
- pos: 12.5,-27.5 - pos: 12.5,-27.5
@@ -10244,11 +10239,6 @@ entities:
- links: - links:
- 5685 - 5685
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- proto: BlockGameArcade - proto: BlockGameArcade
entities: entities:
- uid: 1812 - uid: 1812
@@ -36062,11 +36052,6 @@ entities:
- links: - links:
- 7808 - 7808
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Reverse: []
Forward: []
Off: []
type: SignalReceiver
- uid: 2038 - uid: 2038
components: components:
- rot: 1.5707963267948966 rad - rot: 1.5707963267948966 rad
@@ -36076,11 +36061,6 @@ entities:
- links: - links:
- 7808 - 7808
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Reverse: []
Forward: []
Off: []
type: SignalReceiver
- uid: 2039 - uid: 2039
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -36108,11 +36088,6 @@ entities:
- links: - links:
- 7808 - 7808
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Reverse: []
Forward: []
Off: []
type: SignalReceiver
- uid: 2042 - uid: 2042
components: components:
- rot: 1.5707963267948966 rad - rot: 1.5707963267948966 rad
@@ -36122,11 +36097,6 @@ entities:
- links: - links:
- 7808 - 7808
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Reverse: []
Forward: []
Off: []
type: SignalReceiver
- uid: 2051 - uid: 2051
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -36145,11 +36115,6 @@ entities:
- links: - links:
- 7808 - 7808
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Reverse: []
Forward: []
Off: []
type: SignalReceiver
- uid: 2066 - uid: 2066
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -69058,11 +69023,6 @@ entities:
- links: - links:
- 8288 - 8288
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 6512 - uid: 6512
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -69080,11 +69040,6 @@ entities:
- links: - links:
- 8288 - 8288
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 12425 - uid: 12425
components: components:
- pos: 51.5,1.5 - pos: 51.5,1.5
@@ -69093,11 +69048,6 @@ entities:
- links: - links:
- 8288 - 8288
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 12822 - uid: 12822
components: components:
- pos: 28.5,20.5 - pos: 28.5,20.5

View File

@@ -5293,11 +5293,6 @@ entities:
- links: - links:
- 8225 - 8225
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 2309 - uid: 2309
components: components:
- pos: -14.5,-27.5 - pos: -14.5,-27.5
@@ -5306,11 +5301,6 @@ entities:
- links: - links:
- 8225 - 8225
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 3905 - uid: 3905
components: components:
- pos: 19.5,28.5 - pos: 19.5,28.5
@@ -52702,11 +52692,6 @@ entities:
- links: - links:
- 8232 - 8232
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 2137 - uid: 2137
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -52716,11 +52701,6 @@ entities:
- links: - links:
- 8232 - 8232
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 2138 - uid: 2138
components: components:
- rot: -1.5707963267948966 rad - rot: -1.5707963267948966 rad
@@ -52730,11 +52710,6 @@ entities:
- links: - links:
- 8224 - 8224
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- uid: 4693 - uid: 4693
components: components:
- rot: 1.5707963267948966 rad - rot: 1.5707963267948966 rad
@@ -52838,11 +52813,6 @@ entities:
- links: - links:
- 8224 - 8224
type: DeviceLinkSink type: DeviceLinkSink
- inputs:
Open: []
Close: []
Toggle: []
type: SignalReceiver
- proto: ShuttersRadiationOpen - proto: ShuttersRadiationOpen
entities: entities:
- uid: 9551 - uid: 9551