XLua C#访问Lua文件中一个全局的table《四》映射到LuaTable类

XLua文档4: 4、另外一种by ref方式:映射到LuaTable类
这种方式好处是不需要生成代码,但也有一些问题,比如慢,比方式2要慢一个数量级,比如没有类型检查。


    private LuaEnv luaEnv;
    void Start()
    {
        luaEnv = new LuaEnv();//全局唯一
        luaEnv.AddLoader(CustomLoader);//添加自定义路径

        luaEnv.DoString("require '007' ");//在自定义路径中查找007文件

        var result = luaEnv.Global.Get("person");
        var nameStr = result.Get("name");//通过指定类型获取指定的内容
        var ageInt = result.Get("age");
        Debug.Log("nameStr:" + nameStr);
        Debug.Log("ageInt:" + ageInt);
        Debug.Log("====================================");
        Debug.Log("result.len:" + result.Length);//长度值不知道代表什么鬼,不准确,不清楚
        Debug.Log("====================================");
        foreach (var itme in result.GetKeys())//具体映射到的所有内容
        {
            var all = result.Get(itme);
            Debug.Log(itme + " = " + all);
        }
    }


    private byte[] CustomLoader(ref string filepath)
    {
        string path = Application.dataPath + "/Scripts/Xlua/" + filepath + ".lua";//自定义Lua文件路径
        return Encoding.UTF8.GetBytes(File.ReadAllText(path));//返回对应文件的byte[]数据
    }
 
  

XLua C#访问Lua文件中一个全局的table《四》映射到LuaTable类_第1张图片

XLua C#访问Lua文件中一个全局的table《四》映射到LuaTable类_第2张图片

你可能感兴趣的:(Lua)