public static Delegate UICamera_GetTouchDelegate(LuaFunction func) { UICamera.GetTouchDelegate d = (param0, param1) => { int top = func.BeginPCall(); IntPtr L = func.GetLuaState(); LuaScriptMgr.Push(L, param0); LuaScriptMgr.Push(L, param1); func.PCall(top, 2); object[] objs = func.PopValues(top); func.EndPCall(top); return((UICamera.MouseOrTouch)objs[0]); }; return(d); }
static internal int checkDelegate(IntPtr l, int p, out UICamera.GetTouchDelegate ua) { int op = extractFunction(l, p); if (LuaDLL.lua_isnil(l, p)) { ua = null; return(op); } else if (LuaDLL.lua_isuserdata(l, p) == 1) { ua = (UICamera.GetTouchDelegate)checkObj(l, p); return(op); } LuaDelegate ld; checkType(l, -1, out ld); if (ld.d != null) { ua = (UICamera.GetTouchDelegate)ld.d; return(op); } LuaDLL.lua_pop(l, 1); l = LuaState.get(l).L; ua = (int a1, bool a2) => { int error = pushTry(l); pushValue(l, a1); pushValue(l, a2); ld.pcall(2, error); UICamera.MouseOrTouch ret; checkType(l, error + 1, out ret); LuaDLL.lua_settop(l, error - 1); return(ret); }; ld.d = ua; return(op); }