下载后接下来就是导入XLua到unity里了,解析出来的XLua有下面几个文件夹
我们只需要将Assests:主目录里面的东西全部导入到Unity里面就OK了,导入后再XLua的文件夹下有这么几个。里面都有学习的文档,也可自行去学。
C#访问Lua中的全局变量与table
首先创建一个在Resources下面创建一个文本文件并给其命名为Hello world.lua.txt,这样我们就可以读取到Lua文本文件了,然后写入以下
接着我们创建一个脚本HolloworldXLua引入程序集XLua在Start方法下写入
一个LuaEnv实例对应Lua虚拟机,出于开销的考虑,建议全局唯一DoString参数为String,可输入任意合法的Lua代码.
在这里访问Lua中的Table有几种方法一种是映射到类中,另一种是映射到接口中去,但是这两种方法结果都是相同但是,有一点是不一样的,那就是映射到类中只拷贝Lua里面的数据但是用接口映射的话可以修改Lua里面的数据.,用接口相当与引用
然后我们就可以看到输出的结果,输出的就是Lua脚本里面的全局变量与里面的table里面的
然后还可以通过Dictionary或者List去映射Lua表里面的数据
void Start()
{
LuaEnv luaenv = new LuaEnv();//一个LuaEnv实例对应Lua虚拟机,出于开销的考虑,建议全局唯一
luaenv.DoString("require 'Hello world'");//通过内置的Loder加载lua源文件
Dictionary dict = luaenv.Global.Get>("person");//person表示哪个表
foreach (string Key in dict.Keys)
{
print(Key + ":" + dict[Key]);
}
luaenv.Dispose();
}
输出结果:
下面使用List也可以映射那些没有Key的值,
Lua脚本里面
最后输出可以看到2输出两次212和15分别输出一次对应Lua脚本里面的数据: