Patch_KylockeStand_Awake.cs 889 B

12345678910111213141516171819202122232425262728293031323334
  1. using GadgetCore.API;
  2. using HarmonyLib;
  3. using System.Collections;
  4. using UnityEngine;
  5. namespace ScrapYard.Patches
  6. {
  7. [HarmonyPatch(typeof(KylockeStand))]
  8. [HarmonyPatch("Awake")]
  9. [HarmonyGadget("ScrapYard")]
  10. public static class Patch_KylockeStand_Awake
  11. {
  12. [HarmonyPostfix]
  13. public static void Postfix(KylockeStand __instance)
  14. {
  15. __instance.StartCoroutine(Deactivate(__instance));
  16. }
  17. private static IEnumerator Deactivate(KylockeStand instance)
  18. {
  19. while (!Network.isServer && !Network.isClient)
  20. {
  21. yield return new WaitForSeconds(0.25f);
  22. }
  23. yield return new WaitForSeconds(0.5f);
  24. if (instance.itemID >= 2000 && instance.itemID < 2500 || instance.itemID == ItemRegistry.GetItemIDByRegistryName("Gadget Core:Crafter Block"))
  25. {
  26. instance.gameObject.SetActive(false);
  27. }
  28. yield break;
  29. }
  30. }
  31. }