UI事件绑定模式(不靠谱)
2020-08-06 本文已影响0人
APP4x
这是我在《游戏架构-核心技术与面试精粹》看的,记录一下~
(不过这个感觉不靠谱啊。。。)
UGUI如何绑定事件响应?
1.Inspector界面添加
好处:可以随资源热更
坏处:容易变更,不确定
2.代码中添加
好处:程序员都喜欢的方式
插入:
DRY原则:Dont Repeat Yourself
DavidWheeler说:计算机任何领域的任何问题都可以通过增加一个间接的中间层来解决
思路:
创建一个容器类,自动将可响应事件的子节点找到,并为其添加监听。
可通过 index 或者 gameobject 区分点的是哪个按钮
private void Awake()
{
Button[] btns = GetComponentsInChildren<Button>();
for (int i = 0; i < btns.Length; i++)
{
int index = i;
btns[i].onClick.AddListener(() =>
{
OnBtnClick(index);
});
}
}
public void OnBtnClick(int index)
{
Debug.Log("Btn click : " + index);
}