static int transAnim(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2) { int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); string arg1 = ToLua.CheckString(L, 2); EntityExtend.transAnim(arg0, arg1); return(0); } else if (count == 3) { int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); string arg1 = ToLua.CheckString(L, 2); float arg2 = (float)LuaDLL.luaL_checknumber(L, 3); EntityExtend.transAnim(arg0, arg1, arg2); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: EntityExtend.transAnim")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int getFsmFlag(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); int o = EntityExtend.getFsmFlag(arg0); LuaDLL.lua_pushinteger(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int updateFsm(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); object[] arg1 = ToLua.ToParamsObject(L, 2, count - 1); EntityExtend.updateFsm(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int move(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); UnityEngine.Vector3 arg1 = ToLua.ToVector3(L, 2); EntityExtend.move(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int getDirBy2R(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); int arg1 = (int)LuaDLL.luaL_checknumber(L, 2); UnityEngine.Vector3 o = EntityExtend.getDirBy2R(arg0, arg1); ToLua.Push(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int searchByDistance(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); float arg1 = (float)LuaDLL.luaL_checknumber(L, 2); System.Collections.Generic.List <int> o = EntityExtend.searchByDistance(arg0, arg1); ToLua.PushSealed(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static void Main(string[] args) { //FQuery.Tools.FQuery query = new FQuery.Tools.FQuery(); //IEnity entity = query.GetScheme("Clients"); //entity.Field["name"] = "ss"; //entity.Field["id"] = "1"; //entity.Insert(); //entity.Update(); //entity.Delete(); //List<IEnity> list = query.Form("select * from clients").ToList<IEnity>() ; //foreach (IEnity item in list) //{ // item.Field[""] = ""; //} DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("Name"); dt.Columns.Add("a"); dt.Columns.Add("a1"); dt.Columns.Add("a2"); dt.Columns.Add("a3"); dt.Columns.Add("a4"); dt.Columns.Add("a5"); dt.Columns.Add("a6"); dt.Columns.Add("a7"); dt.Columns.Add("a8"); dt.Columns.Add("a9"); for(int i=0;i<1000000;i++) { DataRow dr =dt.NewRow(); dr[0]=Guid.NewGuid(); dr[1]="aasdddddddddddddddddddddddddddddddddddddddddaa"; dr[2] = "aadddddddddddddddddddddddddddddddaaaa"; dr[3] = "aaddddddddddddddddddddddddddaaaa"; dr[4] = "aaaddddddddddddddddddddddddddddddddddddddddaaa"; dr[5] = "aaadddddddddddddddddaaa"; dr[6] = "aaaddddddddddddddaaa"; dr[7] = "aaaddddddddddddddddddddddddddddddddddddddddddddddddddddaaa"; dr[8] = "aaadddddddddddddddddddddddaaa"; dr[9] = "aaadddddddddddddddddddaaa"; dr[10] = "aadddddddddddddddddddddddddaaaa"; dr[11] = "aaadddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa"; dt.Rows.Add(dr); } ReflectionTest test = new ReflectionTest(); Stopwatch stop = new Stopwatch(); stop.Start(); List<TestEntiy> list = test.ToList<TestEntiy>(dt); stop.Stop(); double time1 = stop.Elapsed.TotalSeconds; stop.Reset(); Console.WriteLine("方法:ToList耗时-" + time1.ToString()); stop.Start(); List<TestEntiy> list2 = test.ToList_Direct(dt); stop.Stop(); Console.WriteLine("方法:ToList_Direct耗时-" + stop.Elapsed.TotalSeconds.ToString()); stop.Reset(); stop.Start(); List<TestEntiy> list1 = test.ToList_Extend<TestEntiy>(dt); stop.Stop(); double time2 = stop.Elapsed.TotalSeconds; Console.WriteLine("方法:ToList_Extend耗时-" + time2.ToString()); stop.Reset(); stop.Start(); List<TestEntiy> list3 = test.ToList_Emit<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:ToList_Emit耗时:" + stop.Elapsed.TotalSeconds.ToString()); stop.Reset(); stop.Start(); List<TestEntiy> list4 = test.ToList_Emit<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:第二次调用ToList_Emit耗时:" + stop.Elapsed.TotalSeconds.ToString()); //stop.Reset(); //stop.Start(); //List<TestEntiy> list5 = test.ToList_Emit2<TestEntiy>(dt); //stop.Stop(); //Console.WriteLine("方法:ToList_Emit2耗时:" + stop.Elapsed.TotalSeconds.ToString()); //stop.Reset(); //stop.Start(); //List<TestEntiy> list6 = test.ToList_Emit2<TestEntiy>(dt); //stop.Stop(); //Console.WriteLine("方法:第二次调用ToList_Emit2耗时:" + stop.Elapsed.TotalSeconds.ToString()); //stop.Reset(); //stop.Start(); //List<TestEntiy> list7 = test.ToList_Emit2<TestEntiy>(dt); //stop.Stop(); //Console.WriteLine("方法:第三次调用ToList_Emit2耗时:" + stop.Elapsed.TotalSeconds.ToString()); //stop.Reset(); //stop.Start(); //List<TestEntiy> list8 = test.ToList_Emit2<TestEntiy>(dt); //stop.Stop(); //Console.WriteLine("方法:第四次调用ToList_Emit2耗时:" + stop.Elapsed.TotalSeconds.ToString()); EntityExtend ee = new EntityExtend(); stop.Reset(); stop.Start(); var a= ee.ToList<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:第一次调用ToList耗时:" + stop.Elapsed.TotalSeconds.ToString()); stop.Reset(); stop.Start(); a = ee.ToList<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:第二次调用ToList耗时:" + stop.Elapsed.TotalSeconds.ToString()); stop.Reset(); stop.Start(); a = ee.ToList<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:第三次调用ToList耗时:" + stop.Elapsed.TotalSeconds.ToString()); stop.Reset(); stop.Start(); a = ee.ToList<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:第四次调用ToList耗时:" + stop.Elapsed.TotalSeconds.ToString()); stop.Reset(); stop.Start(); a = ee.ToList<TestEntiy>(dt); stop.Stop(); Console.WriteLine("方法:第五次调用ToList耗时:" + stop.Elapsed.TotalSeconds.ToString()); Console.Read(); }