I'm working on a game with multiple stages or "screens." Currently a screen manager handles the menus and game screens and the MonoGame.Extended.Entities ECS is being created in the first game screen. The game will change screens a limited number of times in sequential order: 1, 2, 3, 4, 5, 6, and then back to 1. (Note: I'm not using MonoGame.Extended.Screens, I'm using an XNA game state management project by Microsoft)
I've realized I have two options: Either 1) recreate an ECS inside each screen (but there's probably no way to differentiate between the ECS/Systems/Components of previous screens)
or 2) Just have a single gameplay screen with one ECS and write logic in the systems and components to handle creating different "screen" entities based on what gameplay is supposed to be happening. Because after all an ECS is just data+logic, right?
I'm thinking option 2 makes much more sense. Any advice? Thanks!
(Using an ECS and screen manager is the obvious choice for avoiding hard to write and maintain spaghetti code and it has already made it light years easier to plan out a game, so I know there's probably an easy answer here that I just have to find, probably by just trying to code it.)