Hi there!
So, we are developing a game on Unity and we are now porting it to Wii U. Since its gamepad has touch control on its screen, we want to take advantage of NGUI's tactile option, but we are experiencing trouble when dealing with it. We disable the "Use mouse" option and enable the "Use touch" and "Allow Multitouch" options. Want we want to do is to simply touch on each button to activate it, but everything messes up and it does not work properly.
At this moment, we have an inventory for which we create several buttons at runtime (each time we open it) from prefabs (each button is a prefab), then we set the StartSelected property on the UIButtonKeys script to true only for the selected button, and UICamera.SelectedObject points to that one.
Then, when we touch a button through the touch screen it continues being pressed (we don't have the "Sticky Press" property actived), and the regular analog controls cease to work, we want to have them actived no matter if the player uses touch or axis input. But also, the buttons do not always work when touched, since it takes us a few tries to make them work.
Also (only happening on Wi U GamePad's touchscreen) the controls are inverted. Down goes up, Up goes down and to select a button we need to touch the opposite position on the screen. And one last thing is that, if we go to the UI Root camera and assign Submit Key 1 as Joystick 2 Button 'x', it breaks our controls if that key is also assigned to another use (e.g. jumping).
Is there anything we can tweak on NGUI's code to fit our needs? Maybe on the buttons' code to add a "OnTouch" function, or similar. We saw at the docs that there is a UICamera.MouseOrTouch class, but it would be great if you could give us some tips or guidelines about how to handle this problems.
Thanks a lot.