A fork of Eusth's IPA
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.

58 lines
1.5KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace IllusionPlugin
  5. {
  6. /// <summary>
  7. /// Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed at
  8. /// data/Managed/Plugins.
  9. /// </summary>
  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. }