A stable modding interface between Techblox and mods https://mod.exmods.org/
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.

68 lines
2.7KB

  1. using System;
  2. using System.Reflection;
  3. using Harmony;
  4. using GamecraftModdingAPI.Events;
  5. using GamecraftModdingAPI.Utility;
  6. namespace GamecraftModdingAPI.Tests
  7. {
  8. // unused by design
  9. public class GamecraftModdingAPIPluginTest
  10. #if DEBUG
  11. : IllusionPlugin.IEnhancedPlugin
  12. #endif
  13. {
  14. public static HarmonyInstance harmony { get; protected set; }
  15. public string[] Filter { get; } = new string[] { "Gamecraft" };
  16. public string Name { get; } = Assembly.GetExecutingAssembly().GetName().Name;
  17. public string Version { get; } = Assembly.GetExecutingAssembly().GetName().Version.ToString();
  18. public string HarmonyID { get; } = "org.git.exmods.modtainers.gamecraftmoddingapi";
  19. public void OnApplicationQuit()
  20. {
  21. GamecraftModdingAPI.Main.Shutdown();
  22. }
  23. public void OnApplicationStart()
  24. {
  25. GamecraftModdingAPI.Main.Init();
  26. // in case Steam is not installed/running
  27. // this will crash the game slightly later during startup
  28. //SteamInitPatch.ForcePassSteamCheck = true;
  29. // in case running in a VM
  30. //MinimumSpecsCheckPatch.ForcePassMinimumSpecCheck = true;
  31. // debug/test handlers
  32. Manager.AddEventHandler(new SimpleEventHandlerEngine(() => { Logging.Log("App Inited event!"); }, () => { },
  33. EventType.ApplicationInitialized, "appinit API debug"));
  34. Manager.AddEventHandler(new SimpleEventHandlerEngine(() => { Logging.Log("Menu Activated event!"); },
  35. () => { Logging.Log("Menu Destroyed event!"); },
  36. EventType.Menu, "menuact API debug"));
  37. Manager.AddEventHandler(new SimpleEventHandlerEngine(() => { Logging.Log("Menu Switched To event!"); }, () => { },
  38. EventType.MenuSwitchedTo, "menuswitch API debug"));
  39. Manager.AddEventHandler(new SimpleEventHandlerEngine(() => { Logging.Log("Game Activated event!"); },
  40. () => { Logging.Log("Game Destroyed event!"); },
  41. EventType.Game, "gameact API debug"));
  42. Manager.AddEventHandler(new SimpleEventHandlerEngine(() => { Logging.Log("Game Reloaded event!"); }, () => { },
  43. EventType.GameReloaded, "gamerel API debug"));
  44. Manager.AddEventHandler(new SimpleEventHandlerEngine(() => { Logging.Log("Game Switched To event!"); }, () => { },
  45. EventType.GameSwitchedTo, "gameswitch API debug"));
  46. }
  47. public void OnFixedUpdate() { }
  48. public void OnLateUpdate() { }
  49. public void OnLevelWasInitialized(int level) { }
  50. public void OnLevelWasLoaded(int level) { }
  51. public void OnUpdate() { }
  52. }
  53. }