/// <summary> /// クリックイベントを設定 /// </summary> internal virtual void AddClickEvent(bool isPolygon, StringGridRow row, UnityAction <BaseEventData> action) { GameObject go = CurrentObject; List <Component> colliders = AddEventColliders(go, isPolygon); //イベントトリガーの追加 foreach (var item in colliders) { EventTrigger eventTrigger = item.gameObject.AddComponent <EventTrigger>(); UtageToolKit.AddEventTriggerEntry(eventTrigger, (eventData) => OnClick(eventData, row, action), EventTriggerType.PointerClick); eventTriggers.Add(eventTrigger); } }
IEnumerator CoAddClickEvent(bool isPolygon, UnityAction <BaseEventData> action) { while (CurrentSprite.IsLoading) { yield return(0); } // yield return new WaitForEndOfFrame(); GameObject go = CurrentSprite.gameObject; //コライダーの追加 if (isPolygon) { if (!go.GetComponent <PolygonCollider2D>()) { go.AddComponent <PolygonCollider2D>(); } } else { if (!go.GetComponent <Collider2D>()) { go.AddComponent <Collider2D>(); } } //イベントトリガーの追加 EventTrigger eventTrigger = go.GetComponent <EventTrigger>(); if (!eventTrigger) { eventTrigger = go.AddComponent <EventTrigger>(); } UtageToolKit.AddEventTriggerEntry(eventTrigger, action, EventTriggerType.PointerClick); }