ExecuteEvents.Execute を利用することで その GameObject が所持している
コンポーネントに対して Event を実行することができます
EventSystems.ExecuteEvents-Execute - Unity スクリプトリファレンス
対応している interface は以下です
- IBeginDragHandler
- ICancelHandler
- IDeselectHandler
- IDragHandler
- IDropHandler
- IEndDragHandler
- IInitializePotentialDragHandler
- IMoveHandler
- IPointerClickHandler
- IPointerDownHandler
- IPointerEnterHandler
- IPointerExitHandler
- IPointerUpHandler
- IScrollHandler
- ISelectHandler
- ISubmitHandler
- IUpdateSelectedHandler
サンプル
interface を継承している GameObject を渡すことで interface を 呼び出すことができます
// 各Interface で利用するパラメータを適切に設定する必要がある var eventData = new PointerEventData(); eventData.position = position; eventData.pressPosition = position; eventData.button = PointerEventData.InputButton.Left; ExecuteEvents.Execute<IPointerDownHandler>(gameObject, eventData, (handler, ev) => handler.OnPointerEnter((PointerEventData)ev));