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.

54 lines
1.4KB

  1. namespace IllusionPlugin
  2. {
  3. /// <summary>
  4. /// Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed at
  5. /// data/Managed/Plugins.
  6. /// </summary>
  7. public interface IPlugin
  8. {
  9. /// <summary>
  10. /// Gets the name of the plugin.
  11. /// </summary>
  12. string Name { get; }
  13. /// <summary>
  14. /// Gets the version of the plugin.
  15. /// </summary>
  16. string Version { get; }
  17. /// <summary>
  18. /// Gets invoked when the application is started.
  19. /// </summary>
  20. void OnApplicationStart();
  21. /// <summary>
  22. /// Gets invoked when the application is closed.
  23. /// </summary>
  24. void OnApplicationQuit();
  25. /// <summary>
  26. /// Gets invoked whenever a level is loaded.
  27. /// </summary>
  28. /// <param name="level"></param>
  29. void OnLevelWasLoaded(int level);
  30. /// <summary>
  31. /// Gets invoked after the first update cycle after a level was loaded.
  32. /// </summary>
  33. /// <param name="level"></param>
  34. void OnLevelWasInitialized(int level);
  35. /// <summary>
  36. /// Gets invoked on every graphic update.
  37. /// </summary>
  38. void OnUpdate();
  39. /// <summary>
  40. /// Gets invoked on ever physics update.
  41. /// </summary>
  42. void OnFixedUpdate();
  43. }
  44. }