不知道能不能陈宫,舍近求远,记录一下

发现大家都好厉害,这么多年过去了,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 方法

 

 

更多推荐