fix: switched to for in GameManager because of list modifications

This commit is contained in:
Syntriax 2025-04-09 23:19:53 +03:00
parent 48710b0a7f
commit fabc485689

View File

@ -49,8 +49,8 @@ public class GameManager : BaseEntity, IGameManager
if (!hierarchyObject.Initialize()) if (!hierarchyObject.Initialize())
throw new Exception($"{hierarchyObject.Name} can't be initialized"); throw new Exception($"{hierarchyObject.Name} can't be initialized");
foreach (IHierarchyObject child in hierarchyObject.Children) for (int i = 0; i < hierarchyObject.Children.Count; i++)
Register(child); Register(hierarchyObject.Children[i]);
_hierarchyObjects.Add(hierarchyObject); _hierarchyObjects.Add(hierarchyObject);
@ -75,8 +75,8 @@ public class GameManager : BaseEntity, IGameManager
hierarchyObject.OnFinalized -= OnHierarchyObjectFinalize; hierarchyObject.OnFinalized -= OnHierarchyObjectFinalize;
hierarchyObject.OnExitedHierarchy -= OnHierarchyObjectExitedHierarchy; hierarchyObject.OnExitedHierarchy -= OnHierarchyObjectExitedHierarchy;
foreach (IHierarchyObject child in hierarchyObject.Children) for (int i = hierarchyObject.Children.Count - 1; i >= 0; i--)
Remove(child); Remove(hierarchyObject.Children[i]);
_hierarchyObjects.Remove(hierarchyObject); _hierarchyObjects.Remove(hierarchyObject);
hierarchyObject.SetParent(null); hierarchyObject.SetParent(null);