Пример #1
0
    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));
        }
    }
Пример #2
0
 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));
     }
 }
Пример #3
0
 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));
     }
 }
Пример #4
0
 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));
     }
 }
Пример #5
0
 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));
     }
 }
Пример #6
0
 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));
     }
 }
Пример #7
0
        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();
        }