|
|
- using System;
- // ReSharper disable CheckNamespace
-
- namespace IPA.Old
- {
- /// <summary>
- /// Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed at
- /// data/Managed/Plugins.
- /// </summary>
- [Obsolete("When building plugins for Beat Saber, use IBeatSaberPlugin")]
- public interface IPlugin
- {
- /// <summary>
- /// Gets the name of the plugin.
- /// </summary>
- string Name { get; }
-
- /// <summary>
- /// Gets the version of the plugin.
- /// </summary>
- string Version { get; }
-
- /// <summary>
- /// Gets invoked when the application is started.
- /// </summary>
- void OnApplicationStart();
-
- /// <summary>
- /// Gets invoked when the application is closed.
- /// </summary>
- void OnApplicationQuit();
-
- /// <summary>
- /// Gets invoked whenever a level is loaded.
- /// </summary>
- /// <param name="level"></param>
- void OnLevelWasLoaded(int level);
-
- /// <summary>
- /// Gets invoked after the first update cycle after a level was loaded.
- /// </summary>
- /// <param name="level"></param>
- void OnLevelWasInitialized(int level);
-
- /// <summary>
- /// Gets invoked on every graphic update.
- /// </summary>
- void OnUpdate();
-
- /// <summary>
- /// Gets invoked on ever physics update.
- /// </summary>
- void OnFixedUpdate();
- }
- }
|