LuaBinding.cs
支持类型:Unity组件(单个、数组)、string、number、integer、boolean
Unity UI与Lua Table的绑定,整体参考vue
LuaMVVMBinding.cs LuaMVVMForEach.cs
BindingDemo场景中MVVM开头相关节点
local binding = require (" mvvm.binding" )
local a = binding .build ({
data = {
a1 = 1 ,
a2 = 2 ,
a3 = " 3"
},
computed = {
c1 = function (this )
return this .a1 + this .a2
end
}
})
local b = binding .build ({
mixins = {a },
data = {
b1 = 1 ,
b2 = 2 ,
b3 = " 3"
}
})
print (b .c1 , b .b1 )
读取以\t为分隔符的tsv文件
格式:第一行为Key,第二行为该列类型,第三行为列描述
支持类型 int number string json link boolean AssetReference
link类型为外链id,可以在lua中直接访问对应链接表
AssetReference类型实际为Unity中资源的GUID,可通过Tools/Excel Asset Tool编辑
相关实现代码为 Lua/ConfigService.lua
接入sproto协议
支持rpc
支持断线自动重连
示例中连接到测试skynet服务器,服务器为Server文件夹
HideIf (可以设置某个变量为某个值时隐藏该属性)
ShowIf (可以设置某个变量为某个值时显示该属性)
LabelText (覆盖变量的DisplayLable)
ReorderList (针对数组、List型变量优化为ReorderableList编辑,如上图D)
Require (变量不可为空)
AssetOnly (可快捷编辑上图E右侧画笔)
AssetReferenceAssetType (Asset系统资源通过GUID连接)
EnumToggleButtons (将枚举值并列为几个按钮,如上图Enum Value)
Button (Method Attribute,可以在Inspector中生成一个该函数的按钮)
基于ScriptableObject(EventInstance.cs)生成的文件作为事件参数,解决命名错误、多个重复事件的问题
全局事件功能(LuaGlobalEvent.cs),通过组件发送全局事件。可以在Lua、C#侧注册回掉相应。处理某些通用响应逻辑。
在游戏客户端内接收Unity Log回掉,显示Log输出,方便在非编辑器状态下查看Log
Error级Log自动弹出
指令输入功能
通过键盘上的上下键查看最近10次的输入记录
通过拦截、分析客户端发送及收到的协议数据生成伪数据
功能代码文件:Assets/Resources/Lua/base/MockService.lua
选中Assets/Extend/Editor/LuaCheckSetting.asset 设置LuaCheck.exe的路径
在Lua文件保存时,自动执行LuaCheck指令,并将结果输出到Console
更多文档