Alright I upgraded to 3.0.2 but while I'm pleased that everything has been simplified to go off depth only, I'm still having some depth issues when having panels overlap other panels, and I haven't been able to figure out what is going on.
I wanted to have a panel go on top of another and so I thought perhaps I should call NGUITools.BringForward() on the gameObject. I see that the depths of all the widgets are increased by 1000 and then normalized, and all the depths appear fine but I'm still having issues where I can select items under the panel, and other depth oddities. For example I have a button with depth 24, but when I hover over it with the mouse, the UICamera debug says I'm hitting my "View" object, which is a UISprite with depth 21. The buttons on the panel below also have lower depth values but I am able to hit them.
I guess I have three questions:
1. If you want to have a panel go on top of another what should one be calling to fixup depths at runtime? Is NGUITools.BringForward() not the right answer?
2. Why am I seeing correct looking depth values but my collision behaviour isn't matching?
3. Is there some special way that I have to design my panel objects to get this to work? I've experimented with a few things but since nothing is working for me as expected I don't know if I'm doing it right. Should UIPanel always be the top parent in a hierarchy of child widgets?
I think a good addition to your documentation could be a "best practices" page that shows ideally how one should be organizing your panels, widgets and anchors and such to get ideal behaviour.
Thanks.