perf!: behaviour controller memory allocation issues fixed by removing the enumerable interface

This commit is contained in:
2025-05-30 12:12:27 +03:00
parent b0f8b0dad6
commit b1b5af94d3
4 changed files with 21 additions and 12 deletions

View File

@@ -25,8 +25,8 @@ public class ActiveBehaviourCollector<T> : IBehaviourCollector<T> where T : clas
universeObject.BehaviourController.OnBehaviourAdded += OnBehaviourAdded;
universeObject.BehaviourController.OnBehaviourRemoved += OnBehaviourRemoved;
foreach (IBehaviour item in universeObject.BehaviourController)
OnBehaviourAdded(universeObject.BehaviourController, item);
for (int i = 0; i < universeObject.BehaviourController.Count; i++)
OnBehaviourAdded(universeObject.BehaviourController, universeObject.BehaviourController[i]);
}
private void OnUniverseObjectUnregistered(IUniverse manager, IUniverseObject universeObject)
@@ -34,8 +34,8 @@ public class ActiveBehaviourCollector<T> : IBehaviourCollector<T> where T : clas
universeObject.BehaviourController.OnBehaviourAdded -= OnBehaviourAdded;
universeObject.BehaviourController.OnBehaviourRemoved -= OnBehaviourRemoved;
foreach (IBehaviour item in universeObject.BehaviourController)
OnBehaviourRemoved(universeObject.BehaviourController, item);
for (int i = 0; i < universeObject.BehaviourController.Count; i++)
OnBehaviourRemoved(universeObject.BehaviourController, universeObject.BehaviourController[i]);
}
protected virtual void OnBehaviourAdd(IBehaviour behaviour) { }