xLua 发布版本: v2.1.12

新增特性

  • 1、Nullable的支持
  • 2、支持Assembly-CSharp之外的dll注入(beta)
  • 3、执行xlua.hotfix,会自动让该类private能访问
  • 4、xlua.private_accessible优化:1、会把基类的也设置能私有访问;2、延迟到第一次访问类才私有化
  • 5、新增xlua.util.state,可为一个c#对象新增状态
  • 6、this[string field]或者this[object field]操作符重载新增get_Item和set_Item调用
  • 7、正在编译时注入打印error信息
  • 8、interface配置到CSharpCallLua时的事件跟索引映射的自动实现
  • 9、unity5.5以上去掉WARNING: The runtime version supported by this application is unavailable打印

变更

  • 1、去除Stateful方式(因为xlua.util.state已经可以达成类似的效果)
  • 2、废弃掉内嵌模式模式

bug修复

  • 1、生成代码局部变量加下划线,防止符号冲突
  • 2、如果类没放到Hotfix列表,不生成base调用代理
  • 3、代码重构,可读性优化
  • 4、解决带params byte[]可能会导致生成代码编译错误的问题
  • 5、解决类含有private event的时候,无法xlua.private_accessible的问题
  • 6、构造函数注入,如果branch外紧跟Ret指令,注入逻辑应该在branch以及Ret之间
  • 7、构造函数注入,如果注入指令后导致跳转范围大于一个字节,应修改为长跳转
  • 8、解决一个delegate如果不是某个类的内嵌类型时,CS.namespace.classname为空的问题
  • 9、防止Editor下的Util类名字冲突
  • 10、泛型override有异常,先过滤掉
  • 11、解决空enum导致生成代码编译错误
  • 12、解决uwp平台下il2cpp方式打包无法访问任何类的问题
  • 13、hotfix一个私有类型的params参数的函数,导致生成代码编译错误、注入失败的问题
  • 14、如果两个LuaBase指向的是同一个Lua对象,GetHashCode应该返回的是同一个值
  • 15、[Out]标记参数生成代码编译失败
  • 16、交错数组+多维数组的复合,生成代码报错的问题