provide instance in Hook Method
This commit is contained in:
@@ -740,9 +740,22 @@ namespace Barotrauma
|
|||||||
Before, After
|
Before, After
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HookLuaPatchPrefix(MethodBase __originalMethod, object[] __params)
|
static bool HookLuaPatchPrefix(MethodBase __originalMethod, object[] __params, object __instance)
|
||||||
{
|
{
|
||||||
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], __params));
|
object[] parameters;
|
||||||
|
|
||||||
|
if (__instance == null)
|
||||||
|
{
|
||||||
|
parameters = __params;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parameters = new object[__params.Length + 1];
|
||||||
|
__params.CopyTo(parameters, 1);
|
||||||
|
parameters[0] = __instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], parameters));
|
||||||
|
|
||||||
if (!result.IsNull())
|
if (!result.IsNull())
|
||||||
{
|
{
|
||||||
@@ -752,9 +765,22 @@ namespace Barotrauma
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HookLuaPatchRetPrefix(MethodBase __originalMethod, object[] __params, ref object __result)
|
static bool HookLuaPatchRetPrefix(MethodBase __originalMethod, object[] __params, ref object __result, object __instance)
|
||||||
{
|
{
|
||||||
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], __params));
|
object[] parameters;
|
||||||
|
|
||||||
|
if (__instance == null)
|
||||||
|
{
|
||||||
|
parameters = __params;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parameters = new object[__params.Length + 1];
|
||||||
|
__params.CopyTo(parameters, 1);
|
||||||
|
parameters[0] = __instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], parameters));
|
||||||
|
|
||||||
if (!result.IsNull())
|
if (!result.IsNull())
|
||||||
{
|
{
|
||||||
@@ -765,14 +791,30 @@ namespace Barotrauma
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HookLuaPatchPostfix(MethodBase __originalMethod, object[] __params)
|
static void HookLuaPatchPostfix(MethodBase __originalMethod, object[] __params, object __instance)
|
||||||
{
|
{
|
||||||
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], __params));
|
if (__instance == null)
|
||||||
|
luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], __params);
|
||||||
|
else
|
||||||
|
luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], __instance, __params);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HookLuaPatchRetPostfix(MethodBase __originalMethod, object[] __params, ref object __result)
|
static void HookLuaPatchRetPostfix(MethodBase __originalMethod, object[] __params, ref object __result, object __instance)
|
||||||
{
|
{
|
||||||
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], __params));
|
object[] parameters;
|
||||||
|
|
||||||
|
if (__instance == null)
|
||||||
|
{
|
||||||
|
parameters = __params;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parameters = new object[__params.Length + 1];
|
||||||
|
__params.CopyTo(parameters, 1);
|
||||||
|
parameters[0] = __instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = new LuaResult(luaSetup.hook.Call(methodNameToHookName[__originalMethod.Name], parameters));
|
||||||
|
|
||||||
if (!result.IsNull())
|
if (!result.IsNull())
|
||||||
__result = result.Object();
|
__result = result.Object();
|
||||||
|
|||||||
Reference in New Issue
Block a user