using System; using System.Reflection; using RobocraftX.GUI; using RobocraftX.GUI.Hotbar; using Svelto.ECS; using HarmonyLib; using GamecraftModdingAPI.Blocks; namespace GamecraftModdingAPI.Inventory { [HarmonyPatch] public class HotbarSlotSelectionHandlerEnginePatch { private static int selectedBlockInt = 0; public static BlockIDs EquippedPartID { get => (BlockIDs)selectedBlockInt; } private static MethodInfo PatchedMethod { get; } = AccessTools.Method(AccessTools.TypeByName("RobocraftX.GUI.Hotbar.HotbarSlotSelectionHandlerEngine"), "ActivateSlotForCube", parameters: new Type[] { typeof(uint), typeof(int), typeof(ExclusiveGroupStruct) }); public static void Prefix(uint playerID, int selectedDBPartID, ExclusiveGroupStruct groupID) { selectedBlockInt = selectedDBPartID; } public static MethodBase TargetMethod(Harmony harmonyInstance) { return PatchedMethod; } } }