コード例 #1
0
        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
            {
            }
        }
コード例 #2
0
        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
            {
            }
        }