Adding a Model Manager
Again following the design from the 2D section of this game, you'll want to create
a GameComponent that you'll use as a manager for
all your models in this game. To add a new GameComponent, right-click the solution in Solution Explorer, select
Add → New Item..., and then select the Game Component template from the list on the
right. Name your class ModelManager.cs, as shown in Figure 10-4.

Figure 10-4. Adding the ModelManager class
By default, the new ModelManager class will
derive from GameComponent. Adding a GameComponent to the list of components in your game
will sync up the GameComponent's Update method with your game's Update method (i.e., every time your game's Update method is called, your GameComponent's Update method will
also be called).
To connect your ModelManager to the game loop,
add a class-level variable of type ModelManager
to your Game1 class:
ModelManager modelManager;
Next, in the Initialize method of your Game1 class, instantiate the model manager and add it
to the list of game components:
modelManager = new ModelManager(this); Components.Add(modelManager);
Your model manager is now connected to your game loop. You want to have your
ModelManager's Update method synced with your game, but you'll also need to have a
Draw method synced with your game's Draw method. To do this, you'll need to change the
base class of your ModelManager to DrawableGameComponent ...