namespace Syntriax.Engine.Physics2D.Abstract; /// /// Represents a 2D physics engine. /// public interface IPhysicsEngine2D { /// /// Event triggered when the has done a single physics iteration. /// event OnPhysicsIterationEventHandler? OnPhysicsIteration; /// /// Event triggered when the has done a full physics step/>. /// event OnPhysicsStepEventHandler? OnPhysicsStep; /// /// The number of iterations the performs per step. /// int IterationPerStep { get; set; } /// /// Advances the physics simulation by the specified time. /// /// The time step. void Step(float deltaTime); delegate void OnPhysicsIterationEventHandler(IPhysicsEngine2D sender, float iterationDeltaTime); delegate void OnPhysicsStepEventHandler(IPhysicsEngine2D sender, float stepDeltaTime); }