Selzier

Auto Add Event Trigger with Pointer Events

Apr 1st, 2016
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.84 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEngine.EventSystems;
  3. using System.Collections;
  4.  
  5. public class InteractiveObject : MonoBehaviour {
  6.  
  7.     // EventTrigger for PointerEnter, Exit, Click events
  8.     private EventTrigger myTrigger;
  9.  
  10.     // Use this for initialization
  11.     void Start(){
  12.         // Try to Find an EventTrigger Script on this GameObject
  13.         myTrigger = gameObject.GetComponent<EventTrigger>();
  14.  
  15.         // If a script does not exist..
  16.         if (myTrigger == null){
  17.             // .. then create one.
  18.             myTrigger = gameObject.AddComponent<EventTrigger>();
  19.  
  20.             // Register the Event for "Pointer Enter" (cursor goes Over button)
  21.             EventTrigger.Entry entryOver = new EventTrigger.Entry();
  22.             entryOver.eventID = EventTriggerType.PointerEnter;
  23.             entryOver.callback.AddListener((eventData) => { OnPointerEnter(); });
  24.             myTrigger.triggers.Add(entryOver);
  25.  
  26.             // Register the Event for "Pointer Exit" (cursor goes Out of button)
  27.             EventTrigger.Entry entryOut = new EventTrigger.Entry();
  28.             entryOut.eventID = EventTriggerType.PointerExit;
  29.             entryOut.callback.AddListener((eventData) => { OnPointerExit(); });
  30.             myTrigger.triggers.Add(entryOut);
  31.  
  32.             // Register the Event for "Pointer Click" (physical button has been pressed down and back up)
  33.             EventTrigger.Entry entryClick = new EventTrigger.Entry();
  34.             entryClick.eventID = EventTriggerType.PointerClick;
  35.             entryClick.callback.AddListener((eventData) => { OnPointerClick(); });
  36.             myTrigger.triggers.Add(entryClick);
  37.  
  38.             // Register the Event for "Pointer Up" (physical button has been released)
  39.             EventTrigger.Entry entryUp = new EventTrigger.Entry();
  40.             entryUp.eventID = EventTriggerType.PointerUp;
  41.             entryUp.callback.AddListener((eventData) => { OnPointerUp(); });
  42.             myTrigger.triggers.Add(entryUp);
  43.  
  44.             // Register the Event for "Pointer Down" (physical button has been pushed down)
  45.             EventTrigger.Entry entryDown = new EventTrigger.Entry();
  46.             entryDown.eventID = EventTriggerType.PointerDown;
  47.             entryDown.callback.AddListener((eventData) => { OnPointerDown(); });
  48.             myTrigger.triggers.Add(entryDown);
  49.         }
  50.     }
  51.    
  52.     // Pointer Enter Event
  53.     public void OnPointerEnter() {
  54.         Debug.Log("Pointer Enter");
  55.     }
  56.  
  57.     // Pointer Exit Event
  58.     public void OnPointerExit(){
  59.         Debug.Log("Pointer Exit");
  60.     }
  61.  
  62.     // Pointer Click Event
  63.     public void OnPointerClick(){
  64.         Debug.Log("Pointer Click");
  65.     }
  66.  
  67.     // Pointer Up Event
  68.     public void OnPointerUp(){
  69.         Debug.Log("Pointer Up");
  70.     }
  71.  
  72.     // Pointer Down Event
  73.     public void OnPointerDown(){
  74.         Debug.Log("Pointer Down");
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment