public void BindEvent(int id, BxEventHandler handler) { if (id == 0) { ElementEvent += handler; return; } BxEventItem item = null; if (_eventItems != null) { item = _eventItems.Find(x => x.id == id); } else { _eventItems = new List <BxEventItem>(); } if (item == null) { item = new BxEventItem(); item.id = id; item._eventHandler += handler; _eventItems.Add(item); } }
public void RemoveEventBinding(int id, BxEventHandler handler) { if (id == 0) { ElementEvent -= handler; return; } if (_eventItems != null) { int index = _eventItems.FindIndex(x => x.id == id); if (index > -1) { _eventItems[index]._eventHandler -= handler; if (_eventItems[index]._eventHandler == null) { _eventItems.RemoveAt(index); } } } }