Skip to content

Commit 49dba9e

Browse files
add event for scene transitions
Co-authored-by: aonkeeper4 <aonkeeper4@gmail.com>
1 parent b278ba1 commit 49dba9e

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

Celeste.Mod.mm/Patches/Celeste.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,12 @@ protected override void OnExiting(object sender, EventArgs args) {
383383
Everest.Events.Celeste.Exiting();
384384
}
385385

386+
protected extern void orig_OnSceneTransition(Scene last, Scene next);
387+
protected override void OnSceneTransition(Scene last, Scene next) {
388+
orig_OnSceneTransition(last, next);
389+
Everest.Events.Celeste.SceneTransition(last, next);
390+
}
391+
386392
}
387393
}
388394

@@ -484,6 +490,14 @@ internal static void Exiting()
484490
public static event Action OnShutdown;
485491
internal static void Shutdown()
486492
=> OnShutdown?.Invoke();
493+
494+
/// <summary>
495+
/// Called when the current <see cref="Scene"/> (<c>Engine.Scene</c>) is changed.
496+
/// </summary>
497+
public static event SceneTransitionHandler OnSceneTransition;
498+
public delegate void SceneTransitionHandler(Scene last, Scene next);
499+
internal static void SceneTransition(Scene last, Scene next)
500+
=> OnSceneTransition?.Invoke(last, next);
487501
}
488502
}
489503
}

0 commit comments

Comments
 (0)