示例#1
0
        public static void RegisterCallback(ICallbackBase callback, int iCallback)
        {
            List <ICallbackBase> callbackList;

            if (m_RegisteredCallbacks.TryGetValue(iCallback, out callbackList))
            {
                callbackList.Add(callback);
            }
            else
            {
                callbackList = new List <ICallbackBase>();
                callbackList.Add(callback);
                m_RegisteredCallbacks.Add(iCallback, callbackList);
            }
        }
示例#2
0
        public static void UnRegisterCallback(ICallbackBase callback, int iCallback)
        {
            List <ICallbackBase> callbackList;

            if (m_RegisteredCallbacks.TryGetValue(iCallback, out callbackList))
            {
                foreach (ICallbackBase c in callbackList)
                {
                    if (c == callback)
                    {
                        callbackList.Remove(c);
                        break;
                    }
                }

                if (callbackList.Count == 0)
                {
                    m_RegisteredCallbacks.Remove(iCallback);
                }
            }
        }