EventTrigger trigger = type.gameObject.AddComponent<EventTrigger>();
UnityAction<BaseEventData> action = new UnityAction<BaseEventData>(OnSelectDelegate);
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.Select;
entry.callback.AddListener(action);
trigger.triggers.Add(entry);
public void OnSelectDelegate(BaseEventData data)
{
Debug.Log("Onsubimt");
}
这里的type 是一个 Drop down对象
EventTrigger trigger = 你的对象.gameObject.AddComponent<EventTrigger>();
这是给这个Drop down 一个下拉框添加select事件
private void AddTriggersListener(GameObject obj, EventTriggerType eventID, UnityAction<BaseEventData> action)
{
EventTrigger trigger = obj.GetComponent<EventTrigger>();
if (trigger == null)
{
trigger = obj.AddComponent<EventTrigger>();
}
if (trigger.triggers.Count == 0)
{
trigger.triggers = new List<EventTrigger.Entry>();
}
UnityAction<BaseEventData> callback = new UnityAction<BaseEventData>(action);
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = eventID;
entry.callback.AddListener(callback);
trigger.triggers.Add(entry);
}