Unity3D Programmatically Assign EventTrigger Handlers

In the new Unity3D UI (Unity> 4.6), I am trying to create a simple script that I can connect to a user interface component (Image, Text, etc.) that will allow me to wedge into the user tooltip of the tooltip, so I need to capture PointerEnter and PointerExit on my component. So far I have been doing the following without success. I see the EVentTrigger component, but I can’t get my delegates to shoot to save my life.

Any ideas?

public class TooltipTrigger : MonoBehaviour {

  public string value;

  void Start() {

    EventTrigger et = this.gameObject.GetComponent<EventTrigger>();

    if (et == null)
      et = this.gameObject.AddComponent<EventTrigger>();

    EventTrigger.Entry entry;
    UnityAction<BaseEventData> call;

    entry = new EventTrigger.Entry();
    entry.eventID = EventTriggerType.PointerEnter;
    call = new UnityAction<BaseEventData>(pointerEnter);
    entry.callback = new EventTrigger.TriggerEvent();
    entry.callback.AddListener(call);
    et.delegates.Add(entry);

    entry = new EventTrigger.Entry();
    entry.eventID = EventTriggerType.PointerExit;
    call = new UnityAction<BaseEventData>(pointerExit);
    entry.callback = new EventTrigger.TriggerEvent();
    entry.callback.AddListener(call);
    et.delegates.Add(entry);
  }

  private void pointerEnter(BaseEventData eventData) {
    print("pointer enter");
  }
  private void pointerExit(BaseEventData eventData) {
    print("pointer exit");
  }

}

Also ... another method that I can find when poking around forums and documentation is to add event handlers through interface implementations, for example:

public class TooltipTrigger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {

  public string value;

  public void OnPointerEnter(PointerEventData data) {
    Debug.Log("Enter!");
  }

  public void OnPointerExit(PointerEventData data) {
    Debug.Log("Exit!");
  }

}

None of these methods work for me.

+4
source
1

( IPointerEnterHandler IPointerExitHandler) - , . OnPointerEnter OnPointerExit GameObject "EventSystem" EventSystem - ( GameObject , - , - ) (, StandaloneInputModule TouchInputModule).

Canvas ( Canvas) GraphicRaycaster, UI .

.

+2

All Articles