private static int _CreateTestOverride(IntPtr L) { if (LuaDLL.lua_gettop(L) == 0) { TestOverride o = new TestOverride(); LuaScriptMgr.PushObject(L, o); return(1); } LuaDLL.luaL_error(L, "invalid arguments to method: TestOverride.New"); return(0); }
//反射已经无法区分这些重载函数了 void Start() { LuaScriptMgr mgr = new LuaScriptMgr(); mgr.Start(); TestOverrideWrap.Register(mgr.GetL()); TestOverride_SpaceWrap.Register(mgr.GetL()); mgr.DoString(script); TestOverride to = new TestOverride(); LuaFunction func = mgr.GetLuaFunction("Test"); func.Call(to); }
private void Start() { LuaScriptMgr luaScriptMgr = new LuaScriptMgr(); luaScriptMgr.Start(); TestOverrideWrap.Register(luaScriptMgr.GetL()); TestOverride_SpaceWrap.Register(luaScriptMgr.GetL()); luaScriptMgr.DoString(this.script); TestOverride testOverride = new TestOverride(); LuaFunction luaFunction = luaScriptMgr.GetLuaFunction("Test"); luaFunction.Call(new object[] { testOverride }); }
static int _CreateTestOverride(IntPtr L) { int count = LuaDLL.lua_gettop(L); if (count == 0) { TestOverride obj = new TestOverride(); LuaScriptMgr.PushObject(L, obj); return 1; } else { LuaDLL.luaL_error(L, "invalid arguments to method: TestOverride.New"); } return 0; }
static int _CreateTestOverride(IntPtr L) { int count = LuaDLL.lua_gettop(L); if (count == 0) { TestOverride obj = new TestOverride(); LuaScriptMgr.PushObject(L, obj); return(1); } else { LuaDLL.luaL_error(L, "invalid arguments to method: TestOverride.New"); } return(0); }
static int Test(IntPtr L) { int count = LuaDLL.lua_gettop(L); if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(string))) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); string arg0 = LuaScriptMgr.GetString(L, 2); int o = obj.Test(arg0); LuaScriptMgr.Push(L, o); return(1); } else if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(string), typeof(string))) { string arg0 = LuaScriptMgr.GetString(L, 1); string arg1 = LuaScriptMgr.GetString(L, 2); int o = TestOverride.Test(arg0, arg1); LuaScriptMgr.Push(L, o); return(1); } else if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(TestOverride.Space))) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); TestOverride.Space arg0 = (TestOverride.Space)LuaScriptMgr.GetLuaObject(L, 2); int o = obj.Test(arg0); LuaScriptMgr.Push(L, o); return(1); } else if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(double))) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); double arg0 = (double)LuaDLL.lua_tonumber(L, 2); int o = obj.Test(arg0); LuaScriptMgr.Push(L, o); return(1); } else if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(object))) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); object arg0 = LuaScriptMgr.GetVarObject(L, 2); int o = obj.Test(arg0); LuaScriptMgr.Push(L, o); return(1); } else if (count == 3 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(int), typeof(int))) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); int arg0 = (int)LuaDLL.lua_tonumber(L, 2); int arg1 = (int)LuaDLL.lua_tonumber(L, 3); int o = obj.Test(arg0, arg1); LuaScriptMgr.Push(L, o); return(1); } else if (count == 3 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(object), typeof(string))) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); object arg0 = LuaScriptMgr.GetVarObject(L, 2); string arg1 = LuaScriptMgr.GetString(L, 3); int o = obj.Test(arg0, arg1); LuaScriptMgr.Push(L, o); return(1); } else if (LuaScriptMgr.CheckParamsType(L, typeof(object), 2, count - 1)) { TestOverride obj = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); object[] objs0 = LuaScriptMgr.GetParamsObject(L, 2, count - 1); int o = obj.Test(objs0); LuaScriptMgr.Push(L, o); return(1); } else { LuaDLL.luaL_error(L, "invalid arguments to method: TestOverride.Test"); } return(0); }
private static int Test(IntPtr L) { int num = LuaDLL.lua_gettop(L); if (num == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(string))) { TestOverride testOverride = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); string @string = LuaScriptMgr.GetString(L, 2); int d = testOverride.Test(@string); LuaScriptMgr.Push(L, d); return(1); } if (num == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(string), typeof(string))) { string string2 = LuaScriptMgr.GetString(L, 1); string string3 = LuaScriptMgr.GetString(L, 2); int d2 = TestOverride.Test(string2, string3); LuaScriptMgr.Push(L, d2); return(1); } if (num == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(TestOverride.Space))) { TestOverride testOverride2 = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); TestOverride.Space e = (TestOverride.Space)((int)LuaScriptMgr.GetLuaObject(L, 2)); int d3 = testOverride2.Test(e); LuaScriptMgr.Push(L, d3); return(1); } if (num == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(double))) { TestOverride testOverride3 = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); double d4 = LuaDLL.lua_tonumber(L, 2); int d5 = testOverride3.Test(d4); LuaScriptMgr.Push(L, d5); return(1); } if (num == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(object))) { TestOverride testOverride4 = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); object varObject = LuaScriptMgr.GetVarObject(L, 2); int d6 = testOverride4.Test(varObject); LuaScriptMgr.Push(L, d6); return(1); } if (num == 3 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(int), typeof(int))) { TestOverride testOverride5 = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); int i = (int)LuaDLL.lua_tonumber(L, 2); int j = (int)LuaDLL.lua_tonumber(L, 3); int d7 = testOverride5.Test(i, j); LuaScriptMgr.Push(L, d7); return(1); } if (num == 3 && LuaScriptMgr.CheckTypes(L, 1, typeof(TestOverride), typeof(object), typeof(string))) { TestOverride testOverride6 = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); object varObject2 = LuaScriptMgr.GetVarObject(L, 2); string string4 = LuaScriptMgr.GetString(L, 3); int d8 = testOverride6.Test(varObject2, string4); LuaScriptMgr.Push(L, d8); return(1); } if (LuaScriptMgr.CheckParamsType(L, typeof(object), 2, num - 1)) { TestOverride testOverride7 = (TestOverride)LuaScriptMgr.GetNetObjectSelf(L, 1, "TestOverride"); object[] paramsObject = LuaScriptMgr.GetParamsObject(L, 2, num - 1); int d9 = testOverride7.Test(paramsObject); LuaScriptMgr.Push(L, d9); return(1); } LuaDLL.luaL_error(L, "invalid arguments to method: TestOverride.Test"); return(0); }