From a728e1f2099e5c8ba48b60c035ca42dcc2f82900 Mon Sep 17 00:00:00 2001 From: zhurengong <2731412072@qq.com> Date: Fri, 28 Jan 2022 15:41:41 +0800 Subject: [PATCH] ability to patch private method --- Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs index 09e283d1a..be635384b 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs @@ -903,6 +903,7 @@ namespace Barotrauma __result = result.Object(); } + private const BindingFlags DefaultBindingFlags = BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; private static MethodInfo _miHookLuaPatchPrefix = typeof(LuaHook).GetMethod("HookLuaPatchPrefix", BindingFlags.NonPublic | BindingFlags.Static); private static MethodInfo _miHookLuaPatchRetPrefix = typeof(LuaHook).GetMethod("HookLuaPatchRetPrefix", BindingFlags.NonPublic | BindingFlags.Static); private static MethodInfo _miHookLuaPatchPostfix = typeof(LuaHook).GetMethod("HookLuaPatchPostfix", BindingFlags.NonPublic | BindingFlags.Static); @@ -921,11 +922,11 @@ namespace Barotrauma if (parameterNames.Length > 0) { Type[] parameterTypes = parameterNames.Select(x => AccessTools.TypeByName(x)).ToArray(); - methodInfo = classType.GetMethod(methodName, parameterTypes); + methodInfo = classType.GetMethod(methodName, DefaultBindingFlags, null, parameterTypes, null); } else { - methodInfo = classType.GetMethod(methodName); + methodInfo = classType.GetMethod(methodName, DefaultBindingFlags); } if (methodInfo == null)