feat: ICollider.OnRecalculated event added

This commit is contained in:
2026-04-04 19:02:25 +03:00
parent 7fb6821a83
commit 629d758dbc
2 changed files with 7 additions and 0 deletions

View File

@@ -7,6 +7,11 @@ namespace Engine.Physics2D;
/// </summary> /// </summary>
public interface ICollider2D : IBehaviour public interface ICollider2D : IBehaviour
{ {
/// <summary>
/// Event triggered when the collider is recalculated.
/// </summary>
Event<ICollider2D> OnRecalculated { get; }
/// <summary> /// <summary>
/// Event triggered when a collision is detected. /// Event triggered when a collision is detected.
/// </summary> /// </summary>

View File

@@ -4,6 +4,7 @@ namespace Engine.Physics2D;
public abstract class Collider2DBase : Behaviour2D, ICollider2D public abstract class Collider2DBase : Behaviour2D, ICollider2D
{ {
public Event<ICollider2D> OnRecalculated { get; } = new();
public Event<ICollider2D, CollisionDetectionInformation> OnCollisionDetected { get; } = new(); public Event<ICollider2D, CollisionDetectionInformation> OnCollisionDetected { get; } = new();
public Event<ICollider2D, CollisionDetectionInformation> OnCollisionResolved { get; } = new(); public Event<ICollider2D, CollisionDetectionInformation> OnCollisionResolved { get; } = new();
public Event<ICollider2D, ICollider2D> OnTriggered { get; } = new(); public Event<ICollider2D, ICollider2D> OnTriggered { get; } = new();
@@ -30,6 +31,7 @@ public abstract class Collider2DBase : Behaviour2D, ICollider2D
CalculateCollider(); CalculateCollider();
NeedsRecalculation = false; NeedsRecalculation = false;
OnRecalculated.Invoke(this);
} }
public abstract void CalculateCollider(); public abstract void CalculateCollider();