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();