在lua层使用FairyGUI编辑器导出的UI实现业务逻辑
前言
本人目前进行中的项目,是基于Unity3d引擎进行开发,使用toLua框架将业务层转嫁到lua层面,方便进行热更新,UI方面使用FairyGUI编辑器。
对于如何配置tolua和fairygui环境在此不多赘述。本文主要思考在lua层如何去更好的编写UI相关的业务逻辑,因为在业务开发中,很多时候我们需要把UI中的view或者component做为看做某种特殊的对象(比如背包中的道具或者是角色血条信息栏之类的),为此需要给它扩展相关的变量和方法。本人在此抛砖引玉,提供一些思路,供于参考和讨论。
一、官方提供的扩展FairyGUI类的方法:fgui.extension_class(“FairyGUI类名”)
在FairyGUI的官方教程中,提供了这种方法用于扩展,复制一下官网的例子:
--定义扩展类。注意基础类型,不要搞错。例如按钮是GButton,一般的组件则是GComponent。
MyButton = fgui.extension_class(GButton)
--注意这里不是构造函数,是当组件已经构建完毕后调用的
function MyButton:ctor()
print(self:GetChild('n1'))
end