// タッチイベントの設定 public void RegisterEvent(UnityAction f, EventTriggerType type) { // 重複登録させない RemoveEvent(f); // イベントエントリーを作成してEventTriggerに追加 var entry = new ETButtonEntry(f); entry.eventID = type; entry.callback.AddListener((x) => f()); GetComponent <EventTrigger> ().triggers.Add(entry); }
// タッチイベントの削除 // * 引数ActionとTouchEntryのアクションが一致したら削除する public void RemoveEvent(UnityAction f) { ETButtonEntry tgtEntry = null; foreach (EventTrigger.Entry entry in GetComponent <EventTrigger> ().triggers) { if (!(entry is ETButtonEntry)) { continue; } if ((entry as ETButtonEntry).f == f) { tgtEntry = (entry as ETButtonEntry); } } if (tgtEntry != null) { GetComponent <EventTrigger> ().triggers.Remove(tgtEntry); } }