namespace IPA
{
///
/// Provides methods to allow runtime enabling and disabling of a plugin.
///
public interface IDisablablePlugin
{
///
/// Called when a plugin is enabled. This is where you should set up Harmony patches and the like.
///
///
/// 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.
///
void OnEnable();
///
/// 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.
///
///
/// This will get called at shutdown, after , as well as when the
/// plugin is disabled at runtime.
///
void OnDisable();
}
}