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