- Home /
EventSystem events reaching parent EventTrigger?
Hi, guys!
I'm trying to implement a small UI framework on top of Unity's UI tools to group some common behavior. I currently have implemented the concept of a "Window" containing navigable controls (which are currently implemented Unity's standard way: GameObjects with UI components for navigation and an EventTrigger to catch input events) and a "WindowManager" to handle transitions between windows and some other stuff.
The WindowManager has an "ActiveWindow" field that stores a reference to the control that's going to be first selected when it becomes active. That reference is passed to the EventSystem (and set as its Active GameObject) and then the UI components handle navigation and response to input between controls.
I'd like to handle the "Submit" event on each control (which I can do through the EventTrigger) but handle the "Cancel" action in the window (since it's related to the UI flow, which has nothing to do with a window's internal controls) so I put an EventTrigger that handles the "Cancel" event on my windows.
The problem is that the events sent by the EventSystem only seem to reach the active GameObject and not bubble all the way up to my window so I need a way to workaround this.
The things I could come up with are
1. Put some code in the window's Update() to handle the "Cancel" input. I don't like this one much because it goes outside unity's event system. I'd rather be consistent throughout the implementation of the framework and stick to events.
2. Implement my own EventSystem I'm not completely sure what this actually implies, but if I implement my own EventSystem I guess I could get this behavior I'm looking for. This might become handy in the future, when I'll need different UI controls to respond to a specific gamepad's input.
I'd appreciate any insights you share with me :)
Thanks in advance!
Your answer
Follow this Question
Related Questions
Prevent multiple UI elements receiving input from different pointers? 2 Answers
How to solve event triggers blocking scrollview inputs in an inventory/menu? 2 Answers
UnityEngine.EventSystems.. Trying to figure it out .js 1 Answer
TextMeshPro Dropdown navigation gamepad problem 0 Answers
Unity UI - Select with Raycast (Screenspace - Camera) 0 Answers