using UnityEngine.SceneManagement; namespace IPA { /// /// Interface for BSIPA plugins. Every class that implements this will be loaded if the DLL is placed at /// <install dir>/Plugins. /// public interface IPlugin : _IPlugin { /// /// 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(); } /// /// An interface for providing compatability with BSIPA 3.x.x. Do not use. /// public interface _IPlugin { /// /// Gets invoked when the application is closed. /// void OnApplicationQuit(); /// /// Gets invoked on every graphic update. /// void OnUpdate(); /// /// Gets invoked on ever physics update. /// void OnFixedUpdate(); /// /// Gets invoked whenever a scene is loaded. /// /// The scene currently loaded /// The type of loading void OnSceneLoaded(Scene scene, LoadSceneMode sceneMode); /// /// Gets invoked whenever a scene is unloaded /// /// The unloaded scene void OnSceneUnloaded(Scene scene); /// /// Gets invoked whenever a scene is changed /// /// The Scene that was previously loaded /// The Scene being loaded void OnActiveSceneChanged(Scene prevScene, Scene nextScene); } }