/// <summary> /// 初始脚本 /// </summary> /// <param name="btns"></param> public void Init(List <Button> btns, LabelBtnClickEvent clickEvent = null) { Clear(); this.m_btns = btns; for (int i = 0; i < m_btns.Count; i++) { Button btn = m_btns[i]; UnityAction changeBtnEvent = GetChangeBtnEvent(i); btn.onClick.AddListener(changeBtnEvent); m_changeBtnEvents.Add(changeBtnEvent); if (clickEvent != null) { UnityAction extraClickEvent = GetExtraClickEvent(clickEvent, i); btn.onClick.AddListener(extraClickEvent); m_extraClickEvents.Add(extraClickEvent); } } }
private UnityAction GetExtraClickEvent(LabelBtnClickEvent clickEvent, int index) { return(() => clickEvent(index)); }