From 32923cea520e044afc481f636af07e8c381597ac Mon Sep 17 00:00:00 2001 From: TerrificTrifid <99054745+TerrificTrifid@users.noreply.github.com> Date: Mon, 12 Dec 2022 20:11:26 -0600 Subject: [PATCH] Remove outside foreach --- NewHorizons/Builder/Body/BrambleDimensionBuilder.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs b/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs index 7779cb14..ec2a184f 100644 --- a/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs +++ b/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs @@ -253,6 +253,7 @@ namespace NewHorizons.Builder.Body cullController.SetSector(sector); // Prevent recursion from causing hard crash + List removeList = new List(); foreach (var senderWarp in outerFogWarpVolume._senderWarps) { var currentWarp = senderWarp; @@ -260,10 +261,15 @@ namespace NewHorizons.Builder.Body { if (currentWarp.GetContainerWarpVolume() == outerFogWarpVolume && currentWarp != senderWarp) // game already fixes here to here recursion { - outerFogWarpVolume._senderWarps.Remove(senderWarp); break; + removeList.Add(senderWarp); break; } else currentWarp = (InnerFogWarpVolume)currentWarp.GetContainerWarpVolume().GetLinkedFogWarpVolume(); } + + } + foreach (var recursiveWarp in removeList) + { + outerFogWarpVolume._senderWarps.Remove(recursiveWarp); } });