开源手游热更系统xLua最新2.1.6版是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能、易用性、扩展性而广受好评。现在,腾讯已经将xLua开源到GitHub。
Unity 下 Lua 编程支持
xLua 为 Unity 增加 Lua 脚本编程的能力,进而提供代码逻辑增量更新的可能。当然不仅仅如此,在 coco2dx 上的实践告诉我们,以 Lua 为主打语言的游戏客户端编程是可行的。
C# 下 Lua 编程支持
xLua 也支持非 Unity 下的 C# 环境使用,通用版本的介绍请看这里。
xLua 的突破
xLua 在功能、性能、易用性都有不少突破,这几方面分别最具代表性的是:
Unity 全平台热补丁技术,可以运行时把 C# 实现(方法,操作符,属性,事件,构造函数,析构函数,支持泛化)替换成 lua 实现;
自定义 struct,枚举在 Lua 和 C# 间传递无 C# gc alloc;
编辑器下无需生成代码,开发更轻量;
新增特性
1、带约束的泛型支持(by forsakenyang);
2、非 Unity 的 .net 环境支持;
3、代码注入支持小工具方式,该方式不用拷贝 cecil 库,可以解决拷错 cecil 库版本或者和 Unity,VS 插件冲突的问题;
4、Hotfix 配置支持字段和属性
5、更方便的 Unity 协程 hotfix
6、在 hotfix 触发事件;
7、LuaTable 添加 ForEach 方法以及 Length 属性;
8、cmake 生成项目优化:保留源文件目录结构;
9、对已经 Dispose 的 LuaEnv 的访问做保护;Dispose 时检查 callback 是否已经都释放,没释放的话报错;
10、支持释放 Hotfix 回调;
变更
1、构造函数改为执行原有逻辑后调用 lua;
2、对 string 类型的[]操作符重载会影响到继承调用,去掉该特性的支持;
3、编辑器下的代码注入改为手动方式;
bug 修复
1、防止定义了同时定义 get_xx 方法以及xx属性的生成代码的重名。
2、struct 注入代码无效;
3、Utils 加名字空间,防止和业务冲突;
4、返回定长多维数组的 delegate ,生成代码可能会冲突;
5、interface ,以及编辑器下不生成代码情况下,对可变参数的展开;
6、il2cpp 下,如果不生成代码,会报 ManifestModule 不支持;
7、规避 Unity4 的 bug:访问一个已经被 Distroy 的 UnityEngine.Object ,编辑器下会崩溃,这个问题在 Unity5,或者 luajit 版本都不会出现;
8、修改上个版本引入的问题:xlua_setglobal 会漏一个值在栈上,这会导致一些32位应用不稳定;
9、当 delegate 参数只有 ref 和 out 的区别的话,报重载冲突。
76.4M / 03-25
立即下载55M / 06-05
立即下载237.9M / 04-13
立即下载140.5M / 03-06
立即下载900.9M / 03-02
立即下载96.2M / 07-06
立即下载311.2M / 07-06
立即下载335M / 07-06
立即下载200M / 07-06
立即下载413.8M / 07-06
立即下载353.9M / 06-05
立即下载131.8M / 04-13
立即下载230.8M / 03-03
立即下载195.6M / 03-03
立即下载165.4M / 03-03
立即下载45.6M / 09-08
立即下载665.2M / 07-06
立即下载2.84G / 07-06
立即下载93M / 07-06
立即下载338.3M / 07-06
立即下载1.38G / 07-26
立即下载488.3M / 07-16
立即下载109.8M / 06-03
立即下载142M / 01-08
立即下载1.2M / 11-23
立即下载548.8M / 04-13
立即下载1.6M / 04-13
立即下载1.48G / 03-18
立即下载646.6M / 03-03
立即下载133.7M / 03-03
立即下载325.8M / 06-07
立即下载60M / 04-29
立即下载254M / 04-25
立即下载659M / 04-23
立即下载1M / 12-26
立即下载253.4M / 12-08
立即下载253M / 12-08
立即下载1.19G / 11-16
立即下载110.5M / 04-23
立即下载26.7M / 03-16
立即下载488.3M / 07-16
立即下载248.9M / 12-08
立即下载248.9M / 12-08
立即下载201.2M / 04-13
立即下载100.6M / 03-06
立即下载148.9M / 03-06
立即下载1.12G / 07-06
立即下载1.25G / 07-06
立即下载9.48G / 07-06
立即下载50KB / 07-06
立即下载116.2M / 04-10
立即下载1.92G / 04-17
立即下载201.5M / 04-13
立即下载7.31G / 07-01
立即下载94.3M / 07-06
立即下载2.48G / 07-06
立即下载7.63G / 07-06
立即下载1M / 07-06
立即下载778.1M / 07-06
立即下载509.7M / 07-06
立即下载561.8M / 07-11
立即下载1.32G / 01-19
立即下载72M / 07-06
立即下载548.7M / 07-06
立即下载1.00G / 07-06
立即下载9.13G / 07-06
立即下载126.2M / 07-06
立即下载72M / 07-06
立即下载105.1M / 07-06
立即下载132M / 07-06
立即下载