using System.Reflection; using HarmonyLib; namespace PriorityUX { [HarmonyPatch(typeof(DragTool))] static class DragToolPatches { static readonly FieldInfo interceptNumberKeysForPriority = typeof(DragTool).GetField("interceptNumberKeysForPriority", BindingFlags.NonPublic | BindingFlags.Instance); [HarmonyPatch("OnActivateTool")] [HarmonyPostfix] static void OnActivateTool_Postfix(DragTool __instance) { Debug.Log("[PriorityUX] >> OnActivateTool_Postfix " + __instance.GetType().Name + " -> refreshToolMenuPriority"); Utils.refreshToolMenuPriority(); } [HarmonyPatch("OnPrefabInit")] [HarmonyPostfix] static void OnPrefabInit_Postfix(object __instance) { if (Options.Instance.enableKeysForAllTools) { interceptNumberKeysForPriority.SetValue(__instance, true); } } } }