/// <summary> /// 取得“事件监听器” /// </summary> /// <param name="go">监听对象</param> /// <returns></returns> public static ButtonTriggerListener GetListener(GameObject go) { ButtonTriggerListener listen = go.GetComponent <ButtonTriggerListener>(); if (listen == null) { listen = go.AddComponent <ButtonTriggerListener>(); } return(listen); }
/// <summary> /// 为监听器绑定点击事件 /// </summary> /// <param name="eventName">事件名</param> /// <param name="clickDelgate">点击事件委托</param> /// <returns></returns> public static bool BindClickEvent(string eventName, ButtonTriggerListener.EventDelegate clickDelgate) { ButtonTriggerListener listener = _eventListenerDic.GetValue(eventName); if (listener != null) { listener.onClick += clickDelgate; return(true); } return(false); }
private void Start() { ButtonTriggerListener listen = ButtonTriggerListener.GetListener(getBtn); listen.onClick = go => { GetEmail(); }; MessageDispatcher.AddListner(transform.name, o => { EmailStruct email = (EmailStruct)o; senderHead.sprite = email.senderHead; AttachImg.sprite = email.attachImg; senderId.text = email.senderId; content.text = email.content; state.text = email.state; timer.text = email.Timer; }); }
// Use this for initialization void Start() { viewName = transform.parent.name; ButtonTriggerListener listen = ButtonTriggerListener.GetListener(gameObject); listen.onClick = go => { if (isSubPanel) { if (string.IsNullOrEmpty(viewName)) { Debug.LogErrorFormat("Close SubPanel must assign a subpanel name."); return; } Singleton <UIManager> .Instance.CloseSubPanel(viewName); return; } Singleton <UIManager> .Instance.Return2Panel(); }; }
/// <summary> /// 为对象绑定按钮监听器 /// </summary> /// <param name="eventName">事件名</param> /// <param name="go">绑定监听器的对象</param> public static void BindButton(string eventName, GameObject go) { ButtonTriggerListener listener = ButtonTriggerListener.GetListener(go); _eventListenerDic.AddKeyValue(eventName, listener); }