ToLua在Lua层,直接访问c# list的方法
·
不知道能不能陈宫,舍近求远,记录一下
发现大家都好厉害,这么多年过去了,cocos2dx+lua; unity+lua这些年真的培养了不少人才;网上都是各种优化各种写法,都深藏不漏啊
c# 层
//...
L.RegFunction("New", _CreateSystem_Collections_Generic_List_Nirvana_UIVariableBind);
L.RegVar("this", _this, null);
L.RegFunction("__tostring", ToLua.op_ToString);
L.RegFunction("__pairs", LoopList);
L.RegVar("Capacity", get_Capacity, set_Capacity);
L.RegVar("Count", get_Count, null);
L.EndClass();
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int Loop(IntPtr L)
{
string key = ToLua.ToString(L, 2);
UnityEngine.Debug.Log("key=" + key);
return 1;
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int LoopList(IntPtr L) {
LuaDLL.lua_pushcfunction(L, Loop);
return 1;
}
Lua 层
5.3 版本后可以重写 __pairs 方法
更多推荐


所有评论(0)