#if USE_UNI_LUA
|
using LuaAPI = UniLua.Lua;
|
using RealStatePtr = UniLua.ILuaState;
|
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
|
#else
|
using LuaAPI = XLua.LuaDLL.Lua;
|
using RealStatePtr = System.IntPtr;
|
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
|
#endif
|
|
using System;
|
|
|
namespace XLua
|
{
|
public partial class DelegateBridge : DelegateBridgeBase
|
{
|
|
public void __Gen_Delegate_Imp0(ushort p0, byte[] p1)
|
{
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
lock (luaEnv.luaEnvLock)
|
{
|
#endif
|
RealStatePtr L = luaEnv.rawL;
|
int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
|
|
LuaAPI.xlua_pushinteger(L, p0);
|
LuaAPI.lua_pushstring(L, p1);
|
|
PCall(L, 2, 0, errFunc);
|
|
|
|
LuaAPI.lua_settop(L, errFunc - 1);
|
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
}
|
#endif
|
}
|
|
public void __Gen_Delegate_Imp1(ushort p0)
|
{
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
lock (luaEnv.luaEnvLock)
|
{
|
#endif
|
RealStatePtr L = luaEnv.rawL;
|
int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
|
|
LuaAPI.xlua_pushinteger(L, p0);
|
|
PCall(L, 1, 0, errFunc);
|
|
|
|
LuaAPI.lua_settop(L, errFunc - 1);
|
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
}
|
#endif
|
}
|
|
public void __Gen_Delegate_Imp2()
|
{
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
lock (luaEnv.luaEnvLock)
|
{
|
#endif
|
RealStatePtr L = luaEnv.rawL;
|
int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
|
|
|
PCall(L, 0, 0, errFunc);
|
|
|
|
LuaAPI.lua_settop(L, errFunc - 1);
|
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
}
|
#endif
|
}
|
|
public bool __Gen_Delegate_Imp3(int p0)
|
{
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
lock (luaEnv.luaEnvLock)
|
{
|
#endif
|
RealStatePtr L = luaEnv.rawL;
|
int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
|
|
LuaAPI.xlua_pushinteger(L, p0);
|
|
PCall(L, 1, 1, errFunc);
|
|
|
bool __gen_ret = LuaAPI.lua_toboolean(L, errFunc + 1);
|
LuaAPI.lua_settop(L, errFunc - 1);
|
return __gen_ret;
|
#if THREAD_SAFE || HOTFIX_ENABLE
|
}
|
#endif
|
}
|
|
|
static DelegateBridge()
|
{
|
Gen_Flag = true;
|
}
|
|
public override Delegate GetDelegateByType(Type type)
|
{
|
|
if (type == typeof(CSharpCallLua.LuaNetPackage))
|
{
|
return new CSharpCallLua.LuaNetPackage(__Gen_Delegate_Imp0);
|
}
|
|
if (type == typeof(CSharpCallLua.CSharpNetPackage))
|
{
|
return new CSharpCallLua.CSharpNetPackage(__Gen_Delegate_Imp1);
|
}
|
|
if (type == typeof(CSharpCallLua.GeneralDelegate))
|
{
|
return new CSharpCallLua.GeneralDelegate(__Gen_Delegate_Imp2);
|
}
|
|
if (type == typeof(LuaBehaviour.generalDelegate))
|
{
|
return new LuaBehaviour.generalDelegate(__Gen_Delegate_Imp2);
|
}
|
|
if (type == typeof(CSharpCallLua.boolReturnedValueDelegate))
|
{
|
return new CSharpCallLua.boolReturnedValueDelegate(__Gen_Delegate_Imp3);
|
}
|
|
return null;
|
}
|
}
|
|
}
|