using Engine.Core; namespace Engine.Physics2D; public class Collider2DCircle : Collider2DBase, ICircleCollider2D { public Circle CircleWorld { get; protected set; } = Circle.UnitCircle; public Circle CircleLocal { get; set { field = value; NeedsRecalculation = true; } } = Circle.UnitCircle; private float area = 0f; public override float Area => area; private float geometricInertia = 0f; public override float GeometricInertia => geometricInertia; public override void CalculateCollider() { CircleWorld = Transform.Transform(CircleLocal); area = CircleWorld.Area; geometricInertia = CircleWorld.GeometricInertia; } public Collider2DCircle() { } public Collider2DCircle(Circle circle) => CircleLocal = circle; }