Last active
March 5, 2019 20:03
-
-
Save gegagome/ed841d8c28ffb4967d8f12b12ca57e6e to your computer and use it in GitHub Desktop.
Unity - Adding events in C#
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
using UnityEngine.EventSystems; | |
using UnityEngine.UI; | |
public class Events : MonoBehaviour/*, IPointerUpHandler, IPointerEnterHandler, IPointerClickHandler*/ | |
{ | |
void Start() | |
{ | |
EventTrigger myEventTrigger = GetComponent<EventTrigger>(); //you need to have an EventTrigger component attached this gameObject | |
Debug.Log(myEventTrigger); | |
myEventTrigger.AddListener(EventTriggerType.PointerClick, onClickListener); | |
myEventTrigger.AddListener(EventTriggerType.PointerUp, OnPointerUp); | |
} | |
public void onClickListener(PointerEventData eventData) | |
{ | |
Debug.Log("ExtensionMethod"); | |
} | |
public void EnClickListener() | |
{ | |
Debug.Log("ExtensionMethod 2"); | |
} | |
public void OnPointerClick(PointerEventData eventData) | |
{ | |
Debug.Log("OnPointerClick"); | |
} | |
public void OnPointerEnter(PointerEventData eventData) | |
{ | |
Debug.Log("OnPointerEnter on puzzle piece"); | |
} | |
public void OnPointerUp(PointerEventData eventData) | |
{ | |
Debug.Log("tapped on puzzle piece"); | |
} | |
void Update() | |
{ | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine.EventSystems; | |
using UnityEngine; | |
public static class ExtensionMethods | |
{ | |
public static void AddListener(this EventTrigger trigger, EventTriggerType eventType, System.Action<PointerEventData> listener) | |
{ | |
EventTrigger.Entry entry = new EventTrigger.Entry(); | |
entry.eventID = eventType; | |
entry.callback.AddListener(data => listener.Invoke((PointerEventData)data)); | |
trigger.triggers.Add(entry); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment