예제 #1
0
 public void AddListener(int type, OnNotificationDelegate newListenerDelegate)
 {
     if (!listeners.ContainsKey(type))
     {
         listeners.Add(type, del);
     }
     listeners [type] += newListenerDelegate;
 }
예제 #2
0
 //移除监听事件
 public void removeEventListener(string type, OnNotificationDelegate listener)
 {
     if (!eventListerners.ContainsKey(type))
     {
         return;
     }
     eventListerners[type] -= listener;
 }
예제 #3
0
        /*
         * 监听事件
         */

        //添加监听事件
        public void AddEventListener(uint type, OnNotificationDelegate listener)
        {
            if (!eventListerners.ContainsKey(type))
            {
                eventListerners.Add(type, null);
            }
            eventListerners[type] += listener;
        }
예제 #4
0
 public void AddListener(OnNotificationDelegate newListenerDelegate, string key)
 {
     if (!_listeners.ContainsKey(key))
     {
         _listeners[key] = new List <OnNotificationDelegate>();
     }
     _listeners[key].Add(newListenerDelegate);
 }
예제 #5
0
 public void RemoveEventListener(Notification_Type type, OnNotificationDelegate listener)
 {
     if (!_eventListerners.ContainsKey((int)type))
     {
         return;
     }
     _eventListerners[(int)type] -= listener;
 }
예제 #6
0
        public bool RemoveWatcher(OnNotificationDelegate watcher, object context = null)
        {
            if (!watchers.TryRemove((watcher, context), out var del))
            {
                return(false);
            }

            return(NativeMethods.manager_remove_watcher(handle, del, IntPtr.Zero));
        }
예제 #7
0
 public void AddEventListener(Notification_Type type, OnNotificationDelegate listener)
 {
     if (!_eventListerners.ContainsKey((int)type))
     {
         OnNotificationDelegate deleg = null;
         _eventListerners[(int)type] = deleg;
     }
     _eventListerners[(int)type] += listener;
 }
예제 #8
0
    /*
     * 监听事件
     */

    //添加监听事件
    public void addEventListener(string type, OnNotificationDelegate listener)
    {
        if (!eventListerners.ContainsKey(type))
        {
            OnNotificationDelegate deleg = null;
            eventListerners[type] = deleg;
        }
        eventListerners[type] += listener;
    }
    public void addListener(OnNotificationDelegate newListenerDelegate, NotificationType type)
    {
        int typeInt = (int)type;

        // Create the listener ArrayList lazily
        if (listeners[typeInt] == null)
            listeners[typeInt] = new ArrayList();

        listeners[typeInt].Add(newListenerDelegate);
    }
예제 #10
0
 public void RemoveListener(OnNotificationDelegate listenerDelegate)
 {
     foreach (var kvp in _listeners)
     {
         if (kvp.Value.Contains(listenerDelegate))
         {
             RemoveListener(listenerDelegate, kvp.Key);
         }
     }
 }
예제 #11
0
 private void DoRemoveListener(OnNotificationDelegate listenerDelegate, string key)
 {
     if (!_listeners.ContainsKey(key))
     {
         return;
     }
     if (_listeners[key].Contains(listenerDelegate))
     {
         _listeners[key].Remove(listenerDelegate);
     }
 }
예제 #12
0
        //监听事件
        //添加监听事件

        void AddEventListener(ushort t_num, OnNotificationDelegate listener)
        {
            if (t_num >= 0 && t_num < c_eventNum)
            {
                eventListerners[t_num] += listener;
            }
            else
            {
                Debug.Log("注册监听事件失败,ID为:" + t_num);
            }
        }
        //移除监听事件

        public void removeEventListener(ushort t_num, OnNotificationDelegate listener)
        {
            if (t_num >= 0 && t_num < c_eventNum)
            {
                eventListerners[t_num] -= listener;
            }
            else
            {
                Debug.Log("移除监听事件失败,ID为:" + t_num);
            }
        }
예제 #14
0
    public void addListener(OnNotificationDelegate newListenerDelegate, NotificationTypes type)
    {
        int typeInt = (int)type;

        // Create the listener List lazily
        if (listeners[typeInt] == null)
        {
            listeners[typeInt] = new List <OnNotificationDelegate>();
        }

        listeners[typeInt].Add(newListenerDelegate);
    }
    public void removeListener(OnNotificationDelegate listenerDelegate, NotificationType type)
    {
        int typeInt = (int)type;

        if (listeners[typeInt] == null)
            return;

        if (listeners[typeInt].Contains(listenerDelegate))
            listeners[typeInt].Remove(listenerDelegate);

        // Clean up empty listener ArrayLists
        if (listeners[typeInt].Count == 0)
            listeners[typeInt] = null;
    }
예제 #16
0
    public void removeListener(OnNotificationDelegate listenerDelegate, NotificationTypes type)
    {
        int typeInt = (int)type;

        if (listeners[typeInt] == null)
        {
            return;
        }

        if (listeners[typeInt].Contains(listenerDelegate))
        {
            listeners[typeInt].Remove(listenerDelegate);
        }

        // Clean up empty listener List
        if (listeners[typeInt].Count == 0)
        {
            listeners[typeInt] = null;
        }
    }
예제 #17
0
        //-----------------------------------------------------------------------------
        //	Notifications
        //-----------------------------------------------------------------------------

        public bool AddWatcher(OnNotificationDelegate watcher, object context = null)
        {
            if (watchers.TryGetValue((watcher, context), out var del))
            {
                return(false);
            }

            del = new NativeMethods.on_ontification_delegate_t((notificationPtr, ctx) =>
            {
                var notification = Notification.NativeToManagedMap.GetOrCreate(notificationPtr);
                watcher?.Invoke(notification, context);
            });

            var added = NativeMethods.manager_add_watcher(handle, del, IntPtr.Zero);

            if (added)
            {
                watchers.AddOrUpdate((watcher, context), del, (k, v) => del);
            }

            return(added);
        }
예제 #18
0
    public void removeListener(OnNotificationDelegate listenerDelegate, NotificationType type)
    {
        int typeInt = ( int )type;

        listeners[typeInt] -= listenerDelegate;
    }
예제 #19
0
    public void addListener(OnNotificationDelegate newListenerDelegate, NotificationType type)
    {
        int typeInt = (int)type;

        listeners[typeInt] += newListenerDelegate;
    }
예제 #20
0
 public void removeListener(OnNotificationDelegate listenerDelegate, NotificationType type)
 {
     listeners[type].Remove(listenerDelegate);
 }
예제 #21
0
 public void addListener(OnNotificationDelegate newListenerDelegate, NotificationType type)
 {
     listeners[type].Add(newListenerDelegate);
 }
예제 #22
0
 public void RemoveListener(OnNotificationDelegate listenerDelegate, string key)
 {
     _toRemove.Add(new Pair <string, OnNotificationDelegate>(key, listenerDelegate));
 }
 public void addListener( OnNotificationDelegate newListenerDelegate, NotificationType type )
 {
     listeners[type].Add(newListenerDelegate);
 }
 public void removeListener( OnNotificationDelegate listenerDelegate, NotificationType type )
 {
     listeners[type].Remove( listenerDelegate );
 }
예제 #25
0
 public void RemoveListener(int type, OnNotificationDelegate listenerDelegate)
 {
     listeners[type] -= listenerDelegate;
 }