128
« on: April 04, 2014, 05:53:06 AM »
Thanks for the great write up on your experience with NGUI. Very helpful tips.
1. Definitely agree with an improved workflow that allows designers and engineers to work independently. Later versions of Flex enabled this type of separation of concerns.
2. DataProvider. Good to know that you've also have Flex experience. I agree that the data binding in Flex is a bit of a black box and often times, we did have performance problems with their system. In regards to NGUI, I'm not proposing a Flex data-binding situation, I was referring for components to be able to be "Data Aware". Take for example a horizontal scrollList, currently, there is a UGrid that we can attach that will nicely layout the items into a grid structure. The data provider is another component or widget that we can attach to the scrollList that takes in a Json, array, List, etc. The scrollList then populates itself with the contents of the data. Very much like Flex but much more lightweight and as a component that we can customize using the inspector editor. With the upcoming building blocks of databinding and parameterized delegates, this could be the next step.
What I am thinking of is being able to more easily assemble new GUI components from prefabs, tack on a custom provider component, customize it, then feed in the data. This kind of workflow will make NGUI much more powerful. ATM, it's a lot of very tedious work to individually hook up each individual UISprite or widget.
As an example, if one were to build a data-aware scrollList like a photo gallery. How much work will it take ? The flex or old unity gui data driven approach is quite different. Start with a scrollList base, re-skin and add custom layout code or handler code for customization. Feed in the data and done.