feat: added post, regular & post events for Update and Draw

This commit is contained in:
2025-05-22 23:10:47 +03:00
parent 3b6a93d37a
commit 37b87f0f85
2 changed files with 28 additions and 7 deletions

View File

@@ -18,9 +18,24 @@ public interface IUniverse : IEntity, IEnumerable<IUniverseObject>
event UpdateEventHandler? OnUpdate;
/// <summary>
/// Event triggered when <see cref="PreDraw"/> is called on the <see cref="IUniverse"/>.
/// Event triggered after <see cref="Update(UniverseTime)"/> is called on the <see cref="IUniverse"/>.
/// </summary>
event PreDrawEventHandler? OnPreDraw;
event UpdateEventHandler? OnPostUpdate;
/// <summary>
/// Event triggered when <see cref="Draw"/> is about to be called called on the <see cref="IUniverse"/>.
/// </summary>
event DrawEventHandler? OnPreDraw;
/// <summary>
/// Event triggered when <see cref="Draw"/> is called on the <see cref="IUniverse"/>.
/// </summary>
event DrawEventHandler? OnDraw;
/// <summary>
/// Event triggered after <see cref="Draw"/> is called on the <see cref="IUniverse"/>.
/// </summary>
event DrawEventHandler? OnPostDraw;
/// <summary>
/// Event triggered when a <see cref="IUniverseObject"/> is registered to the <see cref="IUniverse"/>.
@@ -84,14 +99,14 @@ public interface IUniverse : IEntity, IEnumerable<IUniverseObject>
void Update(UniverseTime universeTime);
/// <summary>
/// Performs operations that should be done before the draw calls.
/// Performs operations that should be done to the draw.
/// </summary>
void PreDraw();
void Draw();
delegate void TimeScaleChangedEventHandler(IUniverse sender, float previousTimeScale);
delegate void UpdateEventHandler(IUniverse sender, UniverseTime engineTime);
delegate void PreDrawEventHandler(IUniverse sender);
delegate void DrawEventHandler(IUniverse sender);
delegate void UniverseObjectRegisteredEventHandler(IUniverse sender, IUniverseObject universeObjectRegistered);
delegate void UniverseObjectUnRegisteredEventHandler(IUniverse sender, IUniverseObject universeObjectUnregistered);