Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using UnityEngine;
- using UnityEngine.EventSystems;
- //Example:
- // GameObject _btnPlay; // set anywhere
- // ...
- // _btnPlay.SetOnClick((sender)=>{ Debug.Log(sender.name); });
- //
- public static class UnityUIExtensions
- {
- public static void SetOnClick(this GameObject go, Action<GameObject> handler)
- {
- var eventHandler = go.GetComponent<EventTrigger>();
- if(eventHandler == null)
- eventHandler = go.AddComponent<EventTrigger>();
- EventTrigger.Entry entry = new EventTrigger.Entry();
- entry.eventID = EventTriggerType.PointerClick;
- entry.callback.AddListener( (eventData) => { handler(go); } );
- eventHandler.triggers.Add(entry);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment