XLua框架 2.1.16 官方版 v2.1.16
发布时间:2022-03-02
软件语言:简体中文
软件大小:10.7MB
软件授权:免费版
软件版本:v2.1.16
相关链接:软件官网
软件类型:国产软件
软件平台:WinAll
软件类型: 网络工具  /  网络其它
关键字:XLua框架,XLua框架下载,其他工具,其它类别
软件评分:

XLua框架是腾讯研发的Lua开源插件,xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。

截图1

软件截图1

插件特性

总体

Lua虚拟机支持

Lua5.3

Luajit2.1

Unity3D版本支持

各版本均支持

平台支持

windows 64/32

android

ios 64/32/bitcode

osx

uwp

webgl

互访技术

生成适配代码

反射

易用性

解压即可用

开发期无需生成代码

生成代码和反射间可无缝切换

更简单的无GC api

菜单简单易懂

配置可以多份,按模块划分,也可以直接在目标类型上打Attribute标签

自动生成link.xml防止代码剪裁

Plugins部分采用cmake编译,更简单

核心代码不依赖生成代码,可以随时删除生成目录

性能

Lazyload技术,避免用不上的类型的开销

lua函数映射到c# delegate,lua table映射到interface,可实现接口层面无C# gc alloc开销

所有基本值类型,所有枚举,字段都是值类型的struct,在Lua和C#间传递无C# gc alloc

LuaTable,LuaFunction提供无gc访问接口

通过代码生成期的静态分析,生成最优代码

支持C#和Lua间指针传递

自动解除已经Destroy的UnityEngine.Object的引用

扩展性

不用改代码就可以加入Lua第三方扩展

生成引擎提供接口做二次开发

支持为如下C#实现打补丁

构造函数

析构函数

成员函数

静态函数

泛化函数

操作符重载

成员属性

静态属性

事件

Lua代码加载

加载字符串

支持加载后立即执行

支持加载后返回一个delegate或者LuaFunction,调用delegate或者LuaFunction后可传脚本参数

Resources目录的文件

直接require

自定义loader

Lua里头require时触发

require参数透传给loader,loader读取Lua代码返回

Lua原有的方式

Lua原有的方式都保留

Lua调用C#

创建C#对象

C#静态属性,字段

C#静态方法

C#成员属性,字段

C#成员方法

C#继承

子类对象可以直接调用父类的方法,访问父类属性

子类模块可以直接调用父类的静态方法,静态属性

扩展方法(Extension methods)

就像普通成员方法一样使用

参数的输入输出属性(out,ref)

out对应一个lua返回值

ref对应一个lua参数以及一个lua返回值

函数重载

支持重载

由于lua数据类型远比C#要少,会出现无法判断的情况,可通过扩展方法来来调用。

操作符重载

支持的操作符:+,-,*,/,==,一元-,<,<=, %,[]

其它操作符可以借助扩展方法调用

参数默认值

C#参数有默认值,在lua可以不传

可变参数

在对应可变参数部分,直接输入一个个参数即可,不需要把这些参数扩到一个数组里头

泛化方法调用

静态方法可以自行封装使用

成员函数可通过扩展方法封装使用

枚举类型

数字或字符串到枚举的转换

delegate

调用一个C# delegate

+操作符

-操作符

把一个lua函数作为一个c# delegate传递给c#

event

增加事件回调

移除事件回调

64位整数

传递无gc而且无精度损失

lua53下使用原生64位支持

可以和number运算

以java的方式支持无符号64位整数

table的自动转换到C#复杂类型

obj.complexField = {a = 1, b = {c = 1}},obj是一个C#对象,complexField是两层嵌套的struct或者class

typeof

对应C#的typeof操作符,返回Type对象

lua侧直接clone

decimal

传递无gc而且无精度损失

C#调用Lua

调用Lua函数

以delegate方式调用Lua函数

以LuaFunction调用lua函数

访问Lua的table

LuaTable的泛化Get/Set接口,调用无gc,可指明Key,Value的类型

用标注了CSharpCallLua的interface访问

值拷贝到struct,class

Lua虚拟机

虚拟机gc参数读取及设置

工具链

Lua Profiler

可根据函数调用总时长,平均每次调用时长,调用次数排序

显示lua函数名及其所在文件的名字及行号

如果C#函数,会显示这个是C#函数

支持真机调试

截图2

软件截图2

最新更新
下载地址