自分用Unityメモ:EventTriggerにスクリプトからEventを追加する
EventTriggerもButtonなどと同じように
スクリプト側からEventを追加することができます。
ただ少しやり方が異なるのでメモしておこうと思います。
using UnityEngine.EventSystems; //この名前空間が必要です ~~~~~ public void AddEventSample() { EventTrigger currentTrigger = AddComponent<EventTrigger>(); currentTrigger.triggers = new List<EventTrigger.Entry>(); //↑ここでAddComponentしているので一応、初期化しています。 EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; //PointerClickの部分は追加したいEventによって変更してね entry.callback.AddListener( (x) => OnClick() ); //ラムダ式の右側は追加するメソッドです。 currentTrigger.triggers.Add(entry); } public void OnClick() { Debug.Log("クリックされたよ") }
追加したEventをあとで消したいという場合は
entryをフィールドにしておいて
currentTrigger.triggers.Remove(entry);
で、消すことが出来るはずです。
注意点として、この方法で追加したeventはインスペクタに表示されません。
表示されないケド、動くから大丈夫...のハズ。