From f47488c6f184b676becd1f2af66991ba947a863f Mon Sep 17 00:00:00 2001 From: Syntriax Date: Fri, 10 Oct 2025 10:59:39 +0300 Subject: [PATCH] fix: registering/unregistering objects during universe enter/exit causing stack overflows --- Engine.Core/Systems/UniverseEntranceManager.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Engine.Core/Systems/UniverseEntranceManager.cs b/Engine.Core/Systems/UniverseEntranceManager.cs index 0fa28e5..0f32115 100644 --- a/Engine.Core/Systems/UniverseEntranceManager.cs +++ b/Engine.Core/Systems/UniverseEntranceManager.cs @@ -39,8 +39,9 @@ public class UniverseEntranceManager : Behaviour { for (int i = toCallExitUniverses.Count - 1; i >= 0; i--) { - toCallExitUniverses[i].ExitUniverse(Universe); + IExitUniverse exitUniverse = toCallExitUniverses[i]; toCallExitUniverses.RemoveAt(i); + exitUniverse.ExitUniverse(Universe); } } @@ -48,8 +49,9 @@ public class UniverseEntranceManager : Behaviour { for (int i = toCallEnterUniverses.Count - 1; i >= 0; i--) { - toCallEnterUniverses[i].EnterUniverse(Universe); + IEnterUniverse enterUniverse = toCallEnterUniverses[i]; toCallEnterUniverses.RemoveAt(i); + enterUniverse.EnterUniverse(Universe); } }