xlua - c#中操作LuaTable

数组

public void Test1(LuaTable luaObj_Nums)
{
    int idx = 1;
    using (luaObj_Nums)
    {
        forach (int v in m_Nums)
        {
            luaObj_Nums.Set(idx, v);
        }
    }
}

 

简单table

public void Test2(LuaTable luaObj_Dict)
{
    using (luaObj_Dict)
    {
        foreach (var entry in m_IdNameDict)
        {
            luaObj_Dict.Set(entry.Key, entry.Value);
            //......
        }
    }
}

 

复杂table

public void Test3(LuaTable luaObj_AllBooks)
{
    using (luaObj_AllBooks)
    {
        forach (var book in m_AllBooks)
        {
            luaObj_AllBooks.Get(book.Id, out LuaTable luaObj_OneBook);
            if (null == luaObj_OneBook)
            {
                luaObj_OneBook = m_LuaEnv.NewTable();
                luaObj_AllBooks.Set(book.Id, luaObj_OneBook);
            }
            using (luaObj_OneBook)
            {
                luaObj_OneBook.Set("Id", book.Id);
                luaObj_OneBook.Set("Name", book.Name);
                //......
            }
        }
    }
}

 

posted @ 2026-03-05 00:02  yanghui01  阅读(1)  评论(0)    收藏  举报