diff --git a/CLre/API/Engines/FrontEndEngines.cs b/CLre/API/Engines/FrontEndEngines.cs index c3f9305..62b8cf7 100644 --- a/CLre/API/Engines/FrontEndEngines.cs +++ b/CLre/API/Engines/FrontEndEngines.cs @@ -1,3 +1,4 @@ +using System.Reflection; using HarmonyLib; using Svelto.DataStructures; using Svelto.ECS; @@ -89,6 +90,8 @@ namespace CLre.API.Engines internal static FasterList afterBuildEngines = new FasterList(); + internal static MethodInfo addEngine = AccessTools.Method(typeof(FrontEnd.MainFrontEnd), "AddEngine"); + [HarmonyPrefix] public static void BeforeMethodCall(FrontEnd.MainFrontEnd __instance) { @@ -96,7 +99,7 @@ namespace CLre.API.Engines foreach (ICLreEngine e in beforeBuildEngines) { e.entityFactory = factory; - __instance.AddEngine(e); + addEngine.Invoke(__instance, new object[] {e}); // __instance.AddEngine(e); } } @@ -107,7 +110,7 @@ namespace CLre.API.Engines foreach (ICLreEngine e in afterBuildEngines) { e.entityFactory = factory; - __instance.AddEngine(e); + addEngine.Invoke(__instance, new object[] {e}); // __instance.AddEngine(e); } } } @@ -119,6 +122,8 @@ namespace CLre.API.Engines internal static FasterList afterBuildEngines = new FasterList(); + internal static MethodInfo addEngine = AccessTools.Method(typeof(FrontEnd.MainFrontEnd), "AddEngine"); + [HarmonyPrefix] public static void BeforeMethodCall(FrontEnd.MainFrontEnd __instance) { @@ -126,7 +131,7 @@ namespace CLre.API.Engines foreach (ICLreEngine e in beforeBuildEngines) { e.entityFactory = factory; - __instance.AddEngine(e); + addEngine.Invoke(__instance, new object[] {e}); // __instance.AddEngine(e); } } @@ -137,7 +142,7 @@ namespace CLre.API.Engines foreach (ICLreEngine e in afterBuildEngines) { e.entityFactory = factory; - __instance.AddEngine(e); + addEngine.Invoke(__instance, new object[] {e}); // __instance.AddEngine(e); } } }