oni-priority-ux/mod/Patches/DragTool.cs

27 lines
849 B
C#

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);
}
}
}
}