/// <summary>
 /// 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.
 /// </summary>
 public void RemoveScreen(GameScreen screen)
 {
     // If we have a graphics device, tell the screen to unload content.
     if ((graphicsDeviceService != null) &&
         (graphicsDeviceService.GraphicsDevice != null))
     {
         screen.UnloadContent();
     }
     
     screens.Remove(screen);
     screensToUpdate.Remove(screen);
 }
        /// <summary>
        /// Adds a new screen to the screen manager.
        /// </summary>
        public void AddScreen(GameScreen screen)
        {
            screen.ScreenManager = this;

            // If we have a graphics device, tell the screen to load content.
            if ((graphicsDeviceService != null) &&
                (graphicsDeviceService.GraphicsDevice != null))
            {
                screen.LoadContent();
            }
            
            screens.Add(screen);
        }