diff --git a/Engine.Physics2D/Abstract/ICollider2D.cs b/Engine.Physics2D/Abstract/ICollider2D.cs index 606ee8f..d0ff006 100644 --- a/Engine.Physics2D/Abstract/ICollider2D.cs +++ b/Engine.Physics2D/Abstract/ICollider2D.cs @@ -7,6 +7,11 @@ namespace Engine.Physics2D; /// public interface ICollider2D : IBehaviour { + /// + /// Event triggered when the collider is recalculated. + /// + Event OnRecalculated { get; } + /// /// Event triggered when a collision is detected. /// diff --git a/Engine.Physics2D/Collider2DBase.cs b/Engine.Physics2D/Collider2DBase.cs index 329592d..7e13116 100644 --- a/Engine.Physics2D/Collider2DBase.cs +++ b/Engine.Physics2D/Collider2DBase.cs @@ -4,6 +4,7 @@ namespace Engine.Physics2D; public abstract class Collider2DBase : Behaviour2D, ICollider2D { + public Event OnRecalculated { get; } = new(); public Event OnCollisionDetected { get; } = new(); public Event OnCollisionResolved { get; } = new(); public Event OnTriggered { get; } = new(); @@ -30,6 +31,7 @@ public abstract class Collider2DBase : Behaviour2D, ICollider2D CalculateCollider(); NeedsRecalculation = false; + OnRecalculated.Invoke(this); } public abstract void CalculateCollider();