First pass at reorganizing how UI is stored and flows to make it easier to iterate on and extend the UI over time. This is in support of adding a Settings screen, but should also make it easier to fix various "screens pop up over each other" and "cursor is or isn't here" bugs.
Moved all of the UI screens into a UI.prefab so that they can be iterated without touching the level prefab
Standardized how screens are enabled/disabled by controlling it at the UI asset level, not the root UI element level
Introduced a UI Manager ScriptCanvas that manages the screen flow and cursor visibility in a central location through script events.
Added script events for setting the active screen, showing/hiding the UI cursor, and showing/hiding misc HUD elements when screens are active
Added in the initial stub Settings screen. It's not functional yet.
The UI Manager and Settings screen will still get iterated on pretty significantly in future PRs.
InGameMenu changed to have a Settings button:
Stub Settings screen:
First-pass UI Manager script:
InGameMenu script, showing how the per-screen script is simplified and focused.
First pass at reorganizing how UI is stored and flows to make it easier to iterate on and extend the UI over time. This is in support of adding a Settings screen, but should also make it easier to fix various "screens pop up over each other" and "cursor is or isn't here" bugs.
The UI Manager and Settings screen will still get iterated on pretty significantly in future PRs.
InGameMenu changed to have a Settings button:
Stub Settings screen:
First-pass UI Manager script:
InGameMenu script, showing how the per-screen script is simplified and focused.