private void ClearOnlyOnceListeners(int noticeName, ref NoticeHandler <int> handlers) { if (mOnlyOnceListeners.ContainsKey(noticeName)) { OnlyOnceListenerList list = mOnlyOnceListeners[noticeName]; int max = list.Count; for (int i = 0; i < max; i++) { handlers.Remove(list[i]); } list.Clear(); } else { } }
public void RemoveListener(int noticeName, Action <INoticeBase <int> > listener) { NoticeHandler <int> handlers = mNoticeMapper[noticeName]; handlers?.Remove(listener); if (mOnlyOnceListeners.ContainsKey(noticeName)) { OnlyOnceListenerList list = mOnlyOnceListeners[noticeName]; if (list.Contains(listener)) { list.Remove(listener); } else { } } else { } }