C# (CSharp) GameStateManagement Namespace

Classes

Name Description
GameScreen A screen is a single layer that has update and draw logic, and which can be combined with other layers to build up a complex menu system. For instance the main menu, the options menu, the "are you sure you want to quit" message box, and the main game itself are all implemented as screens.
InputState Helper for reading input from keyboard, gamepad, and touch input. This class tracks both the current and previous state of the input devices, and implements query methods for high level input actions such as "move up through the menu" or "pause the game".
LoadingScreen The loading screen coordinates transitions between the menu system and the game itself. Normally one screen will transition off at the same time as the next screen is transitioning on, but for larger transitions that can take a longer time to load their data, we want the menu system to be entirely gone before we start loading the game. This is done as follows: - Tell all the existing screens to transition off. - Activate a loading screen, which will transition on at the same time. - The loading screen watches the state of the previous screens. - When it sees they have finished transitioning off, it activates the real next screen, which may take a long time to load its data. The loading screen will be the only thing displayed while this load is taking place.
MainMenuScreen The main menu screen is the first thing displayed when the game starts up.
MenuEntry Helper class represents a single entry in a MenuScreen. By default this just draws the entry text string, but it can be customized to display menu entries in different ways. This also provides an event that will be raised when the menu entry is selected.
MenuScreen Base class for screens that contain a menu of options. The user can move up and down to select an entry, or cancel to back out of the screen.
MessageBoxScreen A popup message box screen, used to display "are you sure?" confirmation messages.
PauseMenuScreen The pause menu comes up over the top of the game, giving the player options to resume or quit.
ScreenManager The screen manager is a component which manages one or more GameScreen instances. It maintains a stack of screens, calls their Update and Draw methods at the appropriate times, and automatically routes input to the topmost active screen.