加載lua腳本的三種方式
// 1.使 用luaEnv 全局環(huán)境中的成員方法DoString
_env = new LuaEnv();
_env.DoString("print('helloworld')");
// 2.使用Require加載Lua文件(常用的方式)
Lua env =new LuaEnv();
env.DoString("require HelloWorld") --helloWorld是個lua腳本文件
//3.自定義Loader
//這種方式就是直接使用Lua語言中的require來加載文件,可以看到實際上也是使用DoString,只是配合使用了lua里的require函數(shù)。
//實際使用的時候應(yīng)該只DoString("require main")來加載一個main.lua文件,然后在main.lua中Require 其他腳本。
//優(yōu)點:使用方便
//缺點:只能使用Resources與內(nèi)置的路徑的lua文件,不能自定義路徑
//上面說了Require加載Lua文件的方式雖然方便但是會有所限制。那么現(xiàn)在就可以通過自定義loader來控制加載Lua文件的路徑。
void Start()
{
_env = new LuaEnv();
_env.AddLoader(CustomMyLoader);
_env.DoString("require helloworld");
}
private byte[] CustomMyLoader(ref string fileName)
{
string luaPath = Application.dataPath + "/LuaScripts/" + fileName + ".lua.txt";
string strLuaContent = File.ReadAllText(luaPath);
byte[] result = System.Text.Encoding.UTF8.GetBytes(strLuaContent);
return result;
}
private void OnDestroy()
{
_env.Dispose();
}
待添加