工程建设项目在哪个网站查询,天津招投标天津建设工程信息网,网络营销岗位介绍,从哪些方面评价一个企业的网站建设Lua调用C#
通过生成的适配代码进行调用 把在白名单上和打上[LuaCallCSharp]标签的C#类转换成Lua的table#xff0c;然后注册C#类的方法和属性到table中。性能好#xff0c;但占用安装包的内存大 通过反射机制进行调用 性能差#xff0c;在运行的时候才去查找C#的方法#…Lua调用C#
通过生成的适配代码进行调用 把在白名单上和打上[LuaCallCSharp]标签的C#类转换成Lua的table然后注册C#类的方法和属性到table中。性能好但占用安装包的内存大 通过反射机制进行调用 性能差在运行的时候才去查找C#的方法但占用安装包的内存小 C#调用Lua
使用CLua中的LuaEnv这个类的方法
1. DoString 字符串DoString(print(a)) 模块DoString(require Module.lua) 2. 值类型的反射 luaenv.Getint(a) 3. 引用类型的反射 C#的类和接口需添加[CSharpCallLua]标签 Global.GetInPath委托(math.max) Global.GetInPathIPerson(Person) 生成适配代码
Generator.cs
GenAll() 可在Unity编辑器扩展生成→C#代码→XLua导出 模板 路径XLua\Src\Editor\Template可以在里面增加执行语句Warp文件Lua调用C# 例如在LuaClassWarp.tpl.txt里的static int m%method.Name%(RealStatePtr L)增加print(“%method.Name%”)就能实现在调用某个方法的时候打印这个方法的名字了 生成拓展适配代码 XLuaExtensionGenerator.cs LuaFunctionC#调用Lua