Lua 解析器
一、定义
引用命名空间:using XLua; Lua 解析器能够让我们在 Unity 中执行 Lua
二、Lua 解析器的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| LuaEnv evn = new LuaEnv();
evn.DoString("print('你好,世界')"); evn.DoString("print('你好,世界')","Lesson1_LuaEnv");
evn.DoString("require("Main")");
evn.Tick();
evn.Dispose();
|
三、Lua 文件加载重定向
xLua 提供的路径重定向的方向的方法 evn.AddLoader() 允许我们自定义加载 Lua 文件的规则 当我们执行 Lua 语言 require 时 相当于执行一个 Lua 脚本 它就会执行 我们自定义传入的这个函数 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| LuaEnv evn = new LuaEnv(); evn.AddLoader(MyCustomLoader); evn.DoString("require('Main')"); private byte[] MyCustomLoader(ref string fliePath) { string path = Application.dataPath + "/Lua/" + fliePath + ".lua"; if (File.Exists(path)) { return File.ReadAllBytes(path); } else { Debug.LogError("重定向失败,文件名是" + fliePath); } return null; }
|