C# Class PrinceGame.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.
Inheritance: Microsoft.Xna.Framework.DrawableGameComponent
Show file Open project: salvadorc17/Prince-Monogame Class Usage Examples

Public Properties

Property Type Description
m_spriteBatch Microsoft.Xna.Framework.Graphics.SpriteBatch

Public Methods

Method Description
Activate ( bool instancePreserved ) : bool
AddScreen ( GameScreen screen, System controllingPlayer ) : void

Adds a new screen to the screen manager.

Deactivate ( ) : void

Informs the screen manager to serialize its state to disk.

Draw ( GameTime gameTime ) : void

Tells each screen to draw itself.

FadeBackBufferToBlack ( float alpha ) : void

Helper draws a translucent black fullscreen sprite, used for fading screens in and out, and for darkening the background behind popups.

GetScreens ( ) : GameScreen[]

Expose an array holding all the screens. We return a copy rather than the real master list, because screens should only ever be added or removed using the AddScreen and RemoveScreen methods.

Initialize ( ) : void

Initializes the screen manager component.

RemoveScreen ( GameScreen screen ) : void

Removes a screen from the screen manager. You should normally use GameScreen.ExitScreen instead of calling this directly, so the screen can gradually transition off rather than just being instantly removed.

ScreenManager ( Microsoft.Xna.Framework.Game game ) : System

Constructs a new screen manager component.

Update ( GameTime gameTime ) : void

Allows each screen to run logic.

Protected Methods

Method Description
LoadContent ( ) : void

Load your graphics content.

UnloadContent ( ) : void

Unload your graphics content.

Private Methods

Method Description
TraceScreens ( ) : void

Prints a list of all the screens, for debugging.

Method Details

Activate() public method

public Activate ( bool instancePreserved ) : bool
instancePreserved bool
return bool

AddScreen() public method

Adds a new screen to the screen manager.
public AddScreen ( GameScreen screen, System controllingPlayer ) : void
screen GameScreen
controllingPlayer System
return void

Deactivate() public method

Informs the screen manager to serialize its state to disk.
public Deactivate ( ) : void
return void

Draw() public method

Tells each screen to draw itself.
public Draw ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void

FadeBackBufferToBlack() public method

Helper draws a translucent black fullscreen sprite, used for fading screens in and out, and for darkening the background behind popups.
public FadeBackBufferToBlack ( float alpha ) : void
alpha float
return void

GetScreens() public method

Expose an array holding all the screens. We return a copy rather than the real master list, because screens should only ever be added or removed using the AddScreen and RemoveScreen methods.
public GetScreens ( ) : GameScreen[]
return GameScreen[]

Initialize() public method

Initializes the screen manager component.
public Initialize ( ) : void
return void

LoadContent() protected method

Load your graphics content.
protected LoadContent ( ) : void
return void

RemoveScreen() public method

Removes a screen from the screen manager. You should normally use GameScreen.ExitScreen instead of calling this directly, so the screen can gradually transition off rather than just being instantly removed.
public RemoveScreen ( GameScreen screen ) : void
screen GameScreen
return void

ScreenManager() public method

Constructs a new screen manager component.
public ScreenManager ( Microsoft.Xna.Framework.Game game ) : System
game Microsoft.Xna.Framework.Game
return System

UnloadContent() protected method

Unload your graphics content.
protected UnloadContent ( ) : void
return void

Update() public method

Allows each screen to run logic.
public Update ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void

Property Details

m_spriteBatch public static property

public static SpriteBatch,Microsoft.Xna.Framework.Graphics m_spriteBatch
return Microsoft.Xna.Framework.Graphics.SpriteBatch