We will take some responsibility away from the GameManager script by making another manager script to be more consistent with the data and methods it holds. ScenesManager will take and send information to and from GameManager. The following diagram shows how close to GameManager our ScenesManager script exists within the framework when only communicating with GameManager:
The purpose of ScenesManager, apart from taking the workload off GameManager, is to hold the role of dealing with anything related to creating or changing a scene. This doesn't mean we focus on only adding and removing game levels; a scene can also consist of a start-up logo, a title screen, a menu, and a game over screen, all of which are part of the ScenesManager script's responsibility.
In this section, we will be setting up a scene template and two methods. The first method will be responsible for resetting the level...