diff --git a/Engine.Core/Systems/UpdateManager.cs b/Engine.Core/Systems/UpdateManager.cs index 5d0c0cc..ac61131 100644 --- a/Engine.Core/Systems/UpdateManager.cs +++ b/Engine.Core/Systems/UpdateManager.cs @@ -75,9 +75,16 @@ public class UpdateManager : Behaviour args.BehaviourRemoved.LastActiveFrame(); } + private void CallLastFramesBeforeExit(object? sender, System.EventArgs e) + { + for (int i = lastFrameUpdates.Count - 1; i >= 0; i--) + lastFrameUpdates[i].LastActiveFrame(); + } + public UpdateManager() { firstFrameUpdates.OnCollected.AddListener(OnFirstFrameCollected); lastFrameUpdates.OnRemoved.AddListener(OnLastFrameRemoved); + System.AppDomain.CurrentDomain.ProcessExit += CallLastFramesBeforeExit; } }