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.

DeterministicStepComposeEngineGroupsPatch.cs 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Reflection;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Harmony;
  8. using Svelto.ECS;
  9. using RobocraftX.StateSync;
  10. using GamecraftModdingAPI.Utility;
  11. namespace GamecraftModdingAPI.Events
  12. {
  13. /// <summary>
  14. /// Patch of RobocraftX.StateSync.DeterministicStepCompositionRoot.ComposeEnginesGroups(...)
  15. /// </summary>
  16. [HarmonyPatch(typeof(DeterministicStepCompositionRoot), "ComposeEnginesGroups")]
  17. //[HarmonyPatch]
  18. class DeterministicStepComposeEngineGroupsPatch
  19. {
  20. public static readonly GameStateBuildEmitterEngine buildEngine = new GameStateBuildEmitterEngine();
  21. public static readonly GameStateSimulationEmitterEngine simEngine = new GameStateSimulationEmitterEngine();
  22. public static void Prefix(ref StateSyncRegistrationHelper stateSyncReg)
  23. {
  24. stateSyncReg.buildModeInitializationEngines.Add(buildEngine);
  25. stateSyncReg.simulationModeInitializationEngines.Add(simEngine);
  26. }
  27. public static MethodBase NopeTargetMethod()
  28. {
  29. return typeof(DeterministicStepCompositionRoot).GetMethods().First(m => m.Name == "ComposeEnginesGroups")
  30. .MakeGenericMethod(typeof(object));
  31. }
  32. }
  33. }