ProjectExodus is a revamp of the old Evacuation game. It will still have all its bell's and whistles of being a pixel art focused rescue and shoot-em all
There needs to be a seperate boot scene to handle all the setup and game configuration logic. Currently they are attached to the first scene. Meaning that if we do need any of these managers in a production environment, it requires the scene UI to exist.
Acceptance
UI menus only exist within the UI screen
Game menus only exist within the Game screen
Management layer along with persistent services are migrated to the boot scene
Game initialisation is decoupled from the scene specific initialisation
The bootstrap scene is made additive over the existing scene.
Can be opened from any scene and the bootstrap is automatically included.
Implementation
[x] Move Game Management layer to the boot scene
[x] Move construction and initialisation of overall game to the boot scene
[x] Create a bootstrap setup logic class to handle the proper initialisation and handling of the setup (This might be the GameStartupHandler
[ ] Add validation and logic to ensure that all the required services exist
[x] Add debug UI to validate navigations to scene from the bootstrap (Ensures that these scenes can operate with the persistent scene)
[x] All globals in the GameManager to determine whether the game is in 'Development' mode. (This enables specific debug features to exist during gameplay [OUTSIDE OF THE EDITOR])
[ ] This screen can only exist if opened from the Persistent scene.
[x] Create a custom controller within a scene to ensure persistent services exist before gameplay.
Description
There needs to be a seperate boot scene to handle all the setup and game configuration logic. Currently they are attached to the first scene. Meaning that if we do need any of these managers in a production environment, it requires the scene UI to exist.
Acceptance
Implementation