- Home /
Question by
homer_3 · Jun 02, 2016 at 12:00 AM ·
c#eventsystemeventsevent triggering
How to set passed param to event trigger callback in script?
I'm trying to dynamically add event trigger to some UI elements. In the inspector, I can specify a passed parameter to the callback function. But I don't see how to do that in code. So far what I have is
EventTrigger evTrigger = fileLabel.AddComponent<EventTrigger>();
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.PointerEnter;
UnityAction<BaseEventData> cb = new UnityAction<BaseEventData>(inputModule.GetComponent<ViveControllerInput>().PointerEnter(uiText)); //compile error here
entry.callback.AddListener(cb);
evTrigger.triggers.Add(entry);
Comment
Best Answer
Answer by homer_3 · Jun 03, 2016 at 11:30 PM
I found out this needs to be done using lambda expressions. So I just replaced entry.callback.AddListener(cb); with entry.callback.AddListener((eventData)=>inputModule.GetComponent().PointerEnter(uiText));