把在白名单上和打上[LuaCallCSharp]标签的C#类转换成Lua的table,然后注册C#类的方法和属性到table中。性能好,但占用安装包的内存大
性能差,在运行的时候才去查找C#的方法,但占用安装包的内存小
字符串:DoString("print('a')") 模块:DoString("require 'Module.lua'")
luaenv.Get<int>("a")
C#的类和接口需添加[CSharpCallLua]标签 Global.GetInPath<委托>("math.max") Global.GetInPath<IPerson>("Person")
可在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 LuaFunction,C#调用Lua
使用道具 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )
GMT+8, 2024-11-23 12:39 , Processed in 0.088095 second(s), 25 queries .
Powered by Discuz! X3.5 Licensed
© 2001-2024 Discuz! Team.