xLua的mvvm框架,支持ugui,ngui,fairyGUI。。。
基于xLua的轻量级UI框架。
怎么操作?添加添加适配器(继承自MonoBehaviour)到GameObject,可以通过Component/XUUI菜单或者手动到XUUI\Scripts\UGUIAdapter目录找脚本拖放到GameObject,然后设置BindTo属性即可。
Helloworld示例UI节点的绑定信息如下:
public class Helloworld : MonoBehaviour
{
Context context = null;
void Start()
{
context = new Context(@"
return {
data = {
info = {
name = 'John',
},
},
computed = {
message = function(data)
return 'Hello ' .. data.info.name .. '!'
end
},
commands = {
click = function(data)
print(data.info.name)
end,
},
}
");
context.Attach(gameObject);
}
void OnDestroy()
{
context.Dispose();
}
}
根据一个lua脚本去new一个Context,该脚本仅简单的返回一个table,该table各字段含义如下:
然后就可以愉快的Attach到某个UI根节点了(可以Attach多个),这个UI跟节点设置了绑定信息的UI元素都会自动同步。
Helloworld例子展现的是类似vue.js的能力,实际项目中,更建议以模块的方式来组织程序。XUUI提供的应用框架,能很好的实现模块间隔离,也能提供模块间的可控交互能力。
详细请看《应用框架》以及配套的实例程序。
详细请看《如何和任意UI库适配》