using UnityEngine;
using UnityEngine.EventSystems;
/// <summary>
/// ui事件監(jiān)聽腳本
/// </summary>
public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger
{
public delegate void VoidDelegate(GameObject go);
public delegate void BoolDelegate(GameObject go, bool state);
public delegate void FloatDelegate(GameObject go, float delta);
public delegate void VectorDelegate(GameObject go, Vector2 delta);
public delegate void ObjectDelegate(GameObject go, GameObject obj);
public delegate void KeyCodeDelegate(GameObject go, KeyCode key);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public VoidDelegate onUp;
public VoidDelegate onSelect;
public VoidDelegate onUpdateSelect;
static public EventTriggerListener Get(GameObject go)
{
EventTriggerListener listener = go.GetComponent<EventTriggerListener>();
if (listener == null) listener = go.AddComponent<EventTriggerListener>();
return listener;
}
static public EventTriggerListener Get(Transform transform)
{
EventTriggerListener listener = transform.GetComponent<EventTriggerListener>();
if (listener == null) listener = transform.gameObject.AddComponent<EventTriggerListener>();
return listener;
}
public override void OnPointerClick(PointerEventData eventData)
{
if (onClick != null) onClick(gameObject);
}
public override void OnPointerDown(PointerEventData eventData)
{
if (onDown != null) onDown(gameObject);
}
public override void OnPointerEnter(PointerEventData eventData)
{
if (onEnter != null) onEnter(gameObject);
}
public override void OnPointerExit(PointerEventData eventData)
{
if (onExit != null) onExit(gameObject);
}
public override void OnPointerUp(PointerEventData eventData)
{
if (onUp != null) onUp(gameObject);
}
public override void OnSelect(BaseEventData eventData)
{
if (onSelect != null) onSelect(gameObject);
}
public override void OnUpdateSelected(BaseEventData eventData)
{
if (onUpdateSelect != null) onUpdateSelect(gameObject);
}
}
2020-11-02 Unity UI事件添加腳本
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庐氮,“玉大人语稠,你說我怎么就攤上這事∨常” “怎么了仙畦?”我有些...
- 正文 為了忘掉前任先口,我火速辦了婚禮型奥,結果婚禮上瞳收,老公的妹妹穿的比我還像新娘碉京。我一直安慰自己,他們只是感情好螟深,可當我...
- 文/花漫 我一把揭開白布谐宙。 她就那樣靜靜地躺著,像睡著了一般界弧。 火紅的嫁衣襯著肌膚如雪凡蜻。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼委煤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了修档?” 一聲冷哼從身側響起碧绞,我...
- 正文 年R本政府宣布吆寨,位于F島的核電站赏淌,受9級特大地震影響,放射性物質發(fā)生泄漏啄清。R本人自食惡果不足惜六水,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掷贾,春花似錦睛榄、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至港准,卻和暖如春旨剥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浅缸。 一陣腳步聲響...