fix: registering/unregistering objects during universe enter/exit causing stack overflows

This commit is contained in:
2025-10-10 10:59:39 +03:00
parent 6d159330a1
commit f47488c6f1

View File

@@ -39,8 +39,9 @@ public class UniverseEntranceManager : Behaviour
{ {
for (int i = toCallExitUniverses.Count - 1; i >= 0; i--) for (int i = toCallExitUniverses.Count - 1; i >= 0; i--)
{ {
toCallExitUniverses[i].ExitUniverse(Universe); IExitUniverse exitUniverse = toCallExitUniverses[i];
toCallExitUniverses.RemoveAt(i); toCallExitUniverses.RemoveAt(i);
exitUniverse.ExitUniverse(Universe);
} }
} }
@@ -48,8 +49,9 @@ public class UniverseEntranceManager : Behaviour
{ {
for (int i = toCallEnterUniverses.Count - 1; i >= 0; i--) for (int i = toCallEnterUniverses.Count - 1; i >= 0; i--)
{ {
toCallEnterUniverses[i].EnterUniverse(Universe); IEnterUniverse enterUniverse = toCallEnterUniverses[i];
toCallEnterUniverses.RemoveAt(i); toCallEnterUniverses.RemoveAt(i);
enterUniverse.EnterUniverse(Universe);
} }
} }