From c324640eaface003dd34164d83281f254ed4910a Mon Sep 17 00:00:00 2001 From: eoineoineoin Date: Sat, 3 Dec 2022 01:47:24 +0000 Subject: [PATCH] Avoid a display bug when showing a network using multitool (#12793) Co-authored-by: Eoin Mcloughlin --- .../NetworkConfiguratorLinkOverlay.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Content.Client/NetworkConfigurator/NetworkConfiguratorLinkOverlay.cs b/Content.Client/NetworkConfigurator/NetworkConfiguratorLinkOverlay.cs index 3cd0df7218..23404b884b 100644 --- a/Content.Client/NetworkConfigurator/NetworkConfiguratorLinkOverlay.cs +++ b/Content.Client/NetworkConfigurator/NetworkConfiguratorLinkOverlay.cs @@ -2,7 +2,7 @@ using Content.Shared.DeviceNetwork; using Robust.Client.Graphics; using Robust.Shared.Enums; using Robust.Shared.Random; -using Robust.Shared.Utility; +using Robust.Shared.Map; namespace Content.Client.NetworkConfigurator; @@ -48,6 +48,12 @@ public sealed class NetworkConfiguratorLinkOverlay : Overlay } var sourceTransform = _entityManager.GetComponent(tracker.Owner); + if (sourceTransform.MapID == MapId.Nullspace) + { + // Can happen if the item is outside the client's view. In that case, + // we don't have a sensible transform to draw, so we need to skip it. + continue; + } foreach (var device in _deviceListSystem.GetAllDevices(tracker.Owner, deviceList)) { @@ -57,6 +63,10 @@ public sealed class NetworkConfiguratorLinkOverlay : Overlay } var linkTransform = _entityManager.GetComponent(device); + if (linkTransform.MapID == MapId.Nullspace) + { + continue; + } args.WorldHandle.DrawLine(sourceTransform.WorldPosition, linkTransform.WorldPosition, _colors[tracker.Owner]); }