Enabling/Disabling GameComponents
By default, when you create an instance of a GameComponent and add it to the list of components in a game, the
GameComponent is wired into the game loop.
When the game's Update method is called, so is
the Update method of the GameComponent, and so on.
There are two properties that can be used to enable and disable a GameComponent. The Enabled property of a GameComponent will determine whether its Update method is called when the game's own Update method is called. Likewise, the Visible property of a DrawableGameComponent will determine whether its Draw method is called when the game's Draw method is called. Both of these properties are
set to true by default. Go to the Initialize method in your Game1 class and set both properties to false immediately after adding the component to your list of game
components (added lines in bold):
spriteManager = new SpriteManager(this); Components.Add(spriteManager); spriteManager.Enabled = false; spriteManager.Visible = false;
Tip
Why start the SpriteManager in a disabled
state? Remember that the game starts in the GameState.Start state, which will be used for a splash screen of
some sort. You're not going to want sprites flying in and out of the screen at
this point in the game. Hence, you'll start the game with a disabled SpriteManager, and then, when the splash screen
closes, you'll move to a game playing state and activate the SpriteManager.
Next, add some code to show some text when the game is in the GameState.Start ...