/// <summary> /// 添加监听 /// </summary> public void AddListener(string _btnName, OnBtnClickHandler _handler) { if (m_BtnClickDic.ContainsKey(_btnName)) { //集合中不存在该点击事件时,再添加 if (!m_BtnClickDic[_btnName].Contains(_handler)) { m_BtnClickDic[_btnName].Add(_handler); } } else //第一次添加该按钮 { List <OnBtnClickHandler> btnList = new List <OnBtnClickHandler>(); btnList.Add(_handler); m_BtnClickDic.Add(_btnName, btnList); } }
/// <summary> /// 移除监听 /// </summary> public void RemoveListener(string _btnName, OnBtnClickHandler _handler) { if (m_BtnClickDic.ContainsKey(_btnName)) { //得到Key对应的集合 List <OnBtnClickHandler> btnList = m_BtnClickDic[_btnName]; //删除某个点击事件 if (btnList.Contains(_handler)) { btnList.Remove(_handler); } //该按钮没有对应的点击事件了 if (btnList.Count == 0) { //字典一并删除 m_BtnClickDic.Remove(_btnName); } } }