refactor: Dependency Injection to PhysicsEngine2Ds

This commit is contained in:
2024-01-30 19:35:36 +03:00
parent 8619778d52
commit de336d0ee5
2 changed files with 43 additions and 6 deletions

View File

@@ -12,8 +12,9 @@ public class PhysicsEngine2D : IPhysicsEngine2D
private readonly List<ICollider2D> colliders = new(64);
private int _iterationCount = 1;
private ICollisionDetector2D collisionDetector = new CollisionDetector2D();
private ICollisionResolver2D collisionResolver = new CollisionResolver2D();
private readonly ICollisionDetector2D collisionDetector = null!;
private readonly ICollisionResolver2D collisionResolver = null!;
public int IterationCount { get => _iterationCount; set => _iterationCount = value < 1 ? 1 : value; }
@@ -122,4 +123,16 @@ public class PhysicsEngine2D : IPhysicsEngine2D
colliders.Remove(collider2D);
}
public PhysicsEngine2D()
{
collisionDetector = new CollisionDetector2D();
collisionResolver = new CollisionResolver2D();
}
public PhysicsEngine2D(ICollisionDetector2D collisionDetector, ICollisionResolver2D collisionResolver)
{
this.collisionDetector = collisionDetector;
this.collisionResolver = collisionResolver;
}
}