refactor: behaviour collector Count and indexer accessors added
This commit is contained in:
@@ -28,32 +28,32 @@ public class PhysicsEngine2D : UniverseObject, IPhysicsEngine2D
|
||||
{
|
||||
float intervalDeltaTime = deltaTime / IterationPerStep;
|
||||
|
||||
for (int i = physicsPreUpdateCollector.Behaviours.Count - 1; i >= 0; i--)
|
||||
physicsPreUpdateCollector.Behaviours[i].PrePhysicsUpdate(deltaTime);
|
||||
for (int i = physicsPreUpdateCollector.Count - 1; i >= 0; i--)
|
||||
physicsPreUpdateCollector[i].PrePhysicsUpdate(deltaTime);
|
||||
|
||||
for (int i = physicsUpdateCollector.Behaviours.Count - 1; i >= 0; i--)
|
||||
physicsUpdateCollector.Behaviours[i].PhysicsUpdate(deltaTime);
|
||||
for (int i = physicsUpdateCollector.Count - 1; i >= 0; i--)
|
||||
physicsUpdateCollector[i].PhysicsUpdate(deltaTime);
|
||||
|
||||
for (int iterationIndex = 0; iterationIndex < IterationPerStep; iterationIndex++)
|
||||
{
|
||||
// Can Parallel
|
||||
for (int i = rigidBodyCollector.Behaviours.Count - 1; i >= 0; i--)
|
||||
StepRigidBody(rigidBodyCollector.Behaviours[i], intervalDeltaTime);
|
||||
for (int i = rigidBodyCollector.Count - 1; i >= 0; i--)
|
||||
StepRigidBody(rigidBodyCollector[i], intervalDeltaTime);
|
||||
|
||||
// Can Parallel
|
||||
for (int i = colliderCollector.Behaviours.Count - 1; i >= 0; i--)
|
||||
colliderCollector.Behaviours[i].Recalculate();
|
||||
for (int i = colliderCollector.Count - 1; i >= 0; i--)
|
||||
colliderCollector[i].Recalculate();
|
||||
|
||||
// Can Parallel
|
||||
for (int x = 0; x < colliderCollector.Behaviours.Count; x++)
|
||||
for (int x = 0; x < colliderCollector.Count; x++)
|
||||
{
|
||||
ICollider2D? colliderX = colliderCollector.Behaviours[x];
|
||||
ICollider2D? colliderX = colliderCollector[x];
|
||||
if (!colliderX.IsActive)
|
||||
continue;
|
||||
|
||||
for (int y = x + 1; y < colliderCollector.Behaviours.Count; y++)
|
||||
for (int y = x + 1; y < colliderCollector.Count; y++)
|
||||
{
|
||||
ICollider2D? colliderY = colliderCollector.Behaviours[y];
|
||||
ICollider2D? colliderY = colliderCollector[y];
|
||||
|
||||
if (!colliderY.IsActive)
|
||||
continue;
|
||||
@@ -65,8 +65,8 @@ public class PhysicsEngine2D : UniverseObject, IPhysicsEngine2D
|
||||
OnPhysicsIteration?.Invoke(this, intervalDeltaTime);
|
||||
}
|
||||
|
||||
for (int i = physicsPostUpdateCollector.Behaviours.Count - 1; i >= 0; i--)
|
||||
physicsPostUpdateCollector.Behaviours[i].PostPhysicsUpdate(deltaTime);
|
||||
for (int i = physicsPostUpdateCollector.Count - 1; i >= 0; i--)
|
||||
physicsPostUpdateCollector[i].PostPhysicsUpdate(deltaTime);
|
||||
|
||||
OnPhysicsStep?.Invoke(this, deltaTime);
|
||||
}
|
||||
@@ -104,9 +104,9 @@ public class PhysicsEngine2D : UniverseObject, IPhysicsEngine2D
|
||||
if (!colliderX.IsActive)
|
||||
continue;
|
||||
|
||||
for (int y = 0; y < colliderCollector.Behaviours.Count; y++)
|
||||
for (int y = 0; y < colliderCollector.Count; y++)
|
||||
{
|
||||
ICollider2D? colliderY = colliderCollector.Behaviours[y];
|
||||
ICollider2D? colliderY = colliderCollector[y];
|
||||
|
||||
if (!colliderY.IsActive)
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user