Thanks for the explanation. I've indeed confirmed that your stopgap Start() change does result in regaining visibility to all events via the delegates, just like the genericEventHandler approach I relied on. Of course, I know you are aware that other issues pop up:
- With multiple cameras, there are multiple camera gameObjects,
- If the camera gameObject is the 2DCamera, isOverUI returns true even if the cursor is not over the UI,
- Setting fallThrough to a default value in Start breaks the [now deprecated] genericEventHandler functionality that relies on fallThrough being null, etc
As you recommended, a couple of years ago, I adopted the Ngui event system and now use it exclusively. I based my UI on having visibility to all events where I analyze them and then route them to where they should go. GenericEventHandler (or Fallthrough with a nothing mask) provided this visibility. This is what you were recommending at the time.
I would like to track your change to delegates, but losing visibility to some events breaks my UI.
I would like to request that you provide some mechanism to use delegates without losing visibility to events that used to be visible.