//------------------------------------------------------------------------------------------------------- public void RemoveVoteListener(int nEventID, VoteCallback callback) { List <VoteCallback> lstVote = null; if (m_VoteList.TryGetValue(nEventID, out lstVote)) { lstVote.Remove(callback); } }
///////////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// /// </summary> /// <param name="nEventID"></param> /// <param name="callback"></param> public void AddVoteListener(int nEventID, VoteCallback callback) { if (m_VoteList == null) { m_VoteList = new Dictionary <int, List <VoteCallback> >(); } List <VoteCallback> lstVote = null; if (!m_VoteList.TryGetValue(nEventID, out lstVote)) { lstVote = new List <VoteCallback>(); m_VoteList.Add(nEventID, lstVote); } if (!lstVote.Contains(callback)) { lstVote.Add(callback); } }
public static void addVote(string type, votecallback fn, object param = null) { //如果不存在就创建一个字典 if (!dictvote.ContainsKey(type)) { // StarEngine.Debuger.LogTrace("````````````````````````````加入了侦听: " + type); dictvote.Add(type, new List <VoteCallback>()); } List <VoteCallback> list = dictvote[type] as List <VoteCallback>; if (list.Find(x => x.cb == fn) != null) { // StarEngine.Debuger.LogTrace("````````````````````````````重复加入了投票侦听 " + type); return; } VoteCallback ecb = new VoteCallback(); ecb.cb = fn; ecb.param = param; dictvote[type].Add(ecb); }