|
|
- namespace IPA
- {
- /// <summary>
- /// Provides methods to allow runtime enabling and disabling of a plugin.
- /// </summary>
- public interface IDisablablePlugin
- {
- /// <summary>
- /// Called when a plugin is enabled. This is where you shhould set up Harmony patches and the like.
- /// </summary>
- /// <remarks>
- /// This will be called after Init, and will be called when the plugin loads normally too.
- /// When a plugin is disabled at startup, neither this nor Init will be called until it is enabled.
- ///
- /// Init will only ever be called once.
- /// </remarks>
- void OnEnable();
-
- /// <summary>
- /// Called when a plugin is disabled at runtime. This should disable things like Harmony patches and unsubscribe
- /// from events. After this is called there should be no lingering effects of the mod.
- /// </summary>
- /// <remarks>
- /// This will get called at shutdown, after <see cref="IBeatSaberPlugin.OnApplicationQuit"/>, as well as when the
- /// plugin is disabled at runtime.
- /// </remarks>
- void OnDisable();
- }
- }
|