Exemple #1
0
        public static List <T> GetList <T>(this IntPtr L, int index, Func <IntPtr, int, T> getor)
        {
            var result = new List <T>();
            var size   = XLLuaRuntime.lua_objlen(L, index);

            for (int i = 1; i <= size; i++)
            {
                int _lastTopIndex = XLLuaRuntime.lua_gettop(L);
                XLLuaRuntime.lua_rawgeti(L, index, i);
                var value = getor(L, -1);
                XLLuaRuntime.lua_settop(L, _lastTopIndex);
                result.Add(value);
            }
            return(result);
        }