Now first of let me define the word larger in this context!
It's a tile based game with a lot of menu's all with it's different systems and logic.
For example you got your:
- Main menu screen
- Option screen
- Credit screen
- Game Screen <-- Don't know what to call this but basically it renders the game and handles all of the games input for moving around, interacting with the environment and the like.
- Inventory screen
- Quest screen
And many more screens, some of these screens will just be treated as a popup screen and renders over the current screen whilst just disabling the main screens logic but still makes it draw.
All these screens have different logic and draws different images than the others.
So I'm thinking a class called "GameScreen" that all these different screens inherits from and allows overriding the two main methods "updateLogic()" and "drawScreen()" which in turns enables them to have different update and draws. And then let a ScreenManager class do all the work and handling the screens and states of the screens.
But I'v also heard many people like to have some kind of GameState instead? Like:
public void UpdateGame()
{
switch(GameState.getState())
{
case State.Initializing:
break;
case State.MainMenu:
break;
and so on.....
}
}
Or do people usually combine them and how does it look like if they do?