Unofficial CardLife revival project, pronounced like "celery"
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

52 lignes
1.9KB

  1. using System.Globalization;
  2. using System.Reflection;
  3. using HarmonyLib;
  4. using UnityEngine;
  5. namespace CLre.Fixes
  6. {
  7. [Bugfix(name = "ExclusionImprovement",
  8. description = "Sync exclusion zone collision check with visual location",
  9. more = "https://trello.com/c/Ue4yIqWQ/11-placing-material-in-restricted-areas",
  10. component = BugfixType.HarmonyPatch, id = 2)]
  11. [HarmonyPatch]
  12. class ExclusionZoneCollisionEngine_TestExclusionZoneCollision_Patch
  13. {
  14. [HarmonyPrefix]
  15. public static void BeforeMethodCall(ref Vector3 structurePosition, ref bool __result)
  16. {
  17. if (ResourcePlacementPreviewEngine_GetLerpPosition_Patch.quantizedPosition != Vector3.zero)
  18. {
  19. structurePosition = ResourcePlacementPreviewEngine_GetLerpPosition_Patch.quantizedPosition;
  20. }
  21. }
  22. [HarmonyTargetMethod]
  23. public static MethodBase Target()
  24. {
  25. return AccessTools.Method("Game.Building.ExclusionZone.ExclusionZoneCollisionEngine:TestExclusionZoneCollision");
  26. }
  27. }
  28. [Bugfix(name = "ExclusionImprovement",
  29. description = "Sync exclusion zone collision check with visual location",
  30. more = "https://trello.com/c/Ue4yIqWQ/11-placing-material-in-restricted-areas",
  31. component = BugfixType.HarmonyPatch, id = 2)]
  32. [HarmonyPatch]
  33. class ResourcePlacementPreviewEngine_GetLerpPosition_Patch
  34. {
  35. internal static Vector3 quantizedPosition = Vector3.zero;
  36. [HarmonyPrefix]
  37. public static void BeforeMethodCall(ref Vector3 voxelWorldPos, ref Vector3 __result)
  38. {
  39. quantizedPosition = voxelWorldPos;
  40. }
  41. [HarmonyTargetMethod]
  42. public static MethodBase Target()
  43. {
  44. return AccessTools.Method("Game.Handhelds.ResourcePlacementPreviewEngine:GetLerpPosition");
  45. }
  46. }
  47. }