I have problem when using Event Trigger in Panel Canvas. I have Scene A and Scene B. In Scene B, the event trigger is working. But in Scene A is not working. I suspect that in Scene A, the Event Trigger is blocked by something. But when i am using Raycast, it can detect what GameObject that my pointer down.
here is my Raycast:
var m_PointerEventData = new PointerEventData(null);
m_PointerEventData.position = Input.mousePosition;
var m_Raycaster = this.GetComponent<GraphicRaycaster>();
List<RaycastResult> results = new List<RaycastResult>();
m_Raycaster.Raycast(m_PointerEventData, results);
if (results.Count > 0) {
foreach(var r in results){
Debug.Log("Hit " + r.gameObject.name);
}
}
here is my Event trigger:
var trigger = this.GetComponent<EventTrigger>();
var entry = new EventTrigger.Entry
{
eventID = EventTriggerType.PointerDown
};
entry.callback.AddListener((data) =>
{
// some code here
});
trigger.triggers.Add(entry);
My question is:
- How Event trigger Works? How can it different by using Raycast?
- Any Solution to fix my event trigger?