Official continuation of Destination Sol, the great fun little arcade space shooter from http://sourceforge.net/projects/destinationsol/ Modules live at https://github.com/DestinationSol/
This pull request provides several fixes, both minor and major, which improve the general usability of NUI within Destination Sol:
Show the UI cursor when hovering over NUI elements (as is done with the built-in UI)
Increase the base mobile UI density to allow for larger UIs (although they will occupy less screen space in comparison to before)
Call NUIScreenLayer#onRemoved post-removal, rather than pre-removal. The previous behaviour was likely unintentional.
Consume key up/down events in NUIScreenLayer if any of its child KeyActivatedButton widgets consume those events.
Prevent KeyActivatedButton from unconditionally consuming up/down arrow key events.
Add some public constructors to Destination Sol's custom NUI widgets, so that they can be safely instantiated in code.
Testing
Most of these fixes come from scenarios encountered whilst porting the in-game screens to use NUI. As such, they solve problems are not yet exposed in the develop codebase.
The following things should be testable directly with these changes though:
Verify that all NUI screens still render as before
Verify that hovering over NUI elements shows the UI cursor in-game
Notes
The NUIScreenLayer#onRemoved change is technically an breaking change in functionality, however, since there has never been a release containing NUI yet, it should not have a significant impact.
Description
This pull request provides several fixes, both minor and major, which improve the general usability of NUI within Destination Sol:
NUIScreenLayer#onRemoved
post-removal, rather than pre-removal. The previous behaviour was likely unintentional.NUIScreenLayer
if any of its childKeyActivatedButton
widgets consume those events.KeyActivatedButton
from unconditionally consuming up/down arrow key events.Testing
Most of these fixes come from scenarios encountered whilst porting the in-game screens to use NUI. As such, they solve problems are not yet exposed in the
develop
codebase.The following things should be testable directly with these changes though:
Notes
NUIScreenLayer#onRemoved
change is technically an breaking change in functionality, however, since there has never been a release containing NUI yet, it should not have a significant impact.