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();
|
|
}
|
|
}
|