发现错误时检查是否:冒号调用
只需要导入asset文件夹下的Plugins和Xlua这两个文件即可,别的不用导入
生成代码 和清空代码
C#调用lua
using Xlua; 需要引入命名空间 解析器里面执行lua'语法
lua解析器 LuaEnv
单引号是为了避免引号冲突
第二个参数是报错时显示什么提示信息,第三个是解析器本身。可填可不填
我们发现,每次dostring其实比较麻烦,每次都传字符串。那么是否可以直接读取Lua脚本呢?
利用require知识读取lua脚本。 但因为格式问题需要注意。且热更新其实不能在resources中加载
lua文件加载重定向
如果你把尾缀改成了txt,那么就应该是filepath+".lua.txt" 不要相信窗口中的名字
lua解析器管理器
外面调用lua脚本就不需要自己新建解析器。直接调用这个公共类来操作
↑记得加一下判断
外部调用前。先调用一下初始化方法。判空是为了避免外部销毁后又再次调用报错
给lua脚本打包。注意也需要再加txt后缀,不能识别纯lua格式
因为是file.lua.txt 文件后缀实际是txt,前面的.lua变成了文件的一部分
注意区分ab包加载中,文件名和资源名的区别。loadfile实际是资源的组名
大g表之后会频繁用到
全局变量获取
在main中执行test↑就这样用C#得到了lua中的全局变量
获取函数
获取函数和获取变量一样,需要指定类型,接收,使用 可以自己写也可以用官方自带的
1.没有返回值就填void
2.
加了[CSharpCallLua]特性之后,要生成代码。会自动检测加了该特性的委托生成对应代码,很麻烦
3.
注意第一个是代表参数,不加out
记住ref需要初始化,out则不需要。而且官方建议用委托,xlua方法会产生一些垃圾