From 07ea6a9a22fda4067f40d1b68057cc40cd79582b Mon Sep 17 00:00:00 2001 From: Denys Khmara Date: Sun, 9 Mar 2025 12:00:52 +0100 Subject: [PATCH] fix when prawn suit drilling doesn't save raw materials globally --- .../ResourceTracker_OnPickedUp_Patch.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 NitroxPatcher/Patches/Dynamic/ResourceTracker_OnPickedUp_Patch.cs diff --git a/NitroxPatcher/Patches/Dynamic/ResourceTracker_OnPickedUp_Patch.cs b/NitroxPatcher/Patches/Dynamic/ResourceTracker_OnPickedUp_Patch.cs new file mode 100644 index 0000000000..a3933c978d --- /dev/null +++ b/NitroxPatcher/Patches/Dynamic/ResourceTracker_OnPickedUp_Patch.cs @@ -0,0 +1,25 @@ +using System.Reflection; +using NitroxClient.GameLogic; +using NitroxModel.Helper; +using UnityEngine; + +namespace NitroxPatcher.Patches.Dynamic; + +/// +/// Event when someone picks up an item. +/// +public sealed partial class ResourceTracker_OnPickedUp_Patch : NitroxPatch, IDynamicPatch +{ + private static readonly MethodInfo TARGET_METHOD = Reflect.Method((ResourceTracker d) => d.OnPickedUp(default)); + + public static bool Prefix(ResourceTracker __instance) + { + TechType instanceTechType = __instance.techType; + GameObject instanceGameObject = __instance.gameObject; + if (instanceTechType != null && instanceGameObject != null) + { + Resolve().PickedUp(instanceGameObject, instanceTechType); + } + return true; + } +}