public ListenerInfo(DlgtMouseEventListener listener, object objListener = null) { this.listener = listener; this.objListener = objListener; }
public void RemoveMouseEventListener(EMouseEvent eventtype, EMouseKey mousekey, DlgtMouseEventListener listener, object objListener = null) { RemoveMouseEventListener(null, eventtype, mousekey, listener, objListener); }
public void AddMouseEventListener(EMouseEvent eventtype, EMouseKey mousekey, DlgtMouseEventListener newListener, object objListener = null, bool insertFirst = false) { AddMouseEventListener(null, eventtype, mousekey, newListener, objListener, insertFirst); }
public void RemoveMouseEventListener(GameObject objTarget, EMouseEvent eventtype, EMouseKey mousekey, DlgtMouseEventListener listener, object objListener = null) { List <ListenerInfo> listListeners = null; MouseEventKey eventkey = new MouseEventKey(objTarget, eventtype, mousekey); m_dicMouseEvents.TryGetValue(eventkey, out listListeners); if (listListeners != null) { for (int i = 0; i < listListeners.Count; i++) { if (listListeners[i].listener == listener && listListeners[i].objListener == objListener) { listListeners.RemoveAt(i); break; } } if (listListeners.Count == 0) { m_dicMouseEvents.Remove(eventkey); } } }
/// <summary> /// 添加鼠标监听 /// </summary> /// <param name="objTarget">监听对象</param> /// <param name="eventtype">监听事件类型</param> /// <param name="mousekey">鼠标键</param> /// <param name="newListener">监听者接口</param> public void AddMouseEventListener(GameObject objTarget, EMouseEvent eventtype, EMouseKey mousekey, DlgtMouseEventListener newListener, object objListener = null, bool insertFirst = false) { List <ListenerInfo> listListeners = null; MouseEventKey eventkey = new MouseEventKey(objTarget, eventtype, mousekey); m_dicMouseEvents.TryGetValue(eventkey, out listListeners); if (listListeners == null) { listListeners = new List <ListenerInfo>(); ListenerInfo listenerinfo = new ListenerInfo(newListener, objListener); listListeners.Add(listenerinfo); m_dicMouseEvents[eventkey] = listListeners; } else { bool bFound = false; for (int i = 0; i < listListeners.Count; i++) { if (listListeners[i].listener == newListener && listListeners[i].objListener == objListener) { break; } } if (!bFound) { ListenerInfo listenerinfo = new ListenerInfo(newListener, objListener); if (insertFirst) { listListeners.Insert(0, listenerinfo); } else { listListeners.Add(listenerinfo); } } } }