You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. using System;
  2. // ReSharper disable CheckNamespace
  3. namespace IPA.Old
  4. {
  5. /// <summary>
  6. /// Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed in
  7. /// Plugins.
  8. /// </summary>
  9. [Obsolete("When building plugins for Beat Saber, use the plugin attributes starting with PluginAttribute")]
  10. public interface IPlugin
  11. {
  12. /// <summary>
  13. /// Gets the name of the plugin.
  14. /// </summary>
  15. string Name { get; }
  16. /// <summary>
  17. /// Gets the version of the plugin.
  18. /// </summary>
  19. string Version { get; }
  20. /// <summary>
  21. /// Gets invoked when the application is started.
  22. /// </summary>
  23. void OnApplicationStart();
  24. /// <summary>
  25. /// Gets invoked when the application is closed.
  26. /// </summary>
  27. void OnApplicationQuit();
  28. /// <summary>
  29. /// Gets invoked whenever a level is loaded.
  30. /// </summary>
  31. /// <param name="level"></param>
  32. void OnLevelWasLoaded(int level);
  33. /// <summary>
  34. /// Gets invoked after the first update cycle after a level was loaded.
  35. /// </summary>
  36. /// <param name="level"></param>
  37. void OnLevelWasInitialized(int level);
  38. /// <summary>
  39. /// Gets invoked on every graphic update.
  40. /// </summary>
  41. void OnUpdate();
  42. /// <summary>
  43. /// Gets invoked on ever physics update.
  44. /// </summary>
  45. void OnFixedUpdate();
  46. }
  47. }