public ScreenManager()
        {
            //Dimensions = new Vector2(640, 480);
            //CurrentScreen = new SplashScreen();
            ////CurrentScreen = new GameplayScreen();
            ////currentScreen = new SongismScreen();
            //xmlGameScreenManager = new XmlManager<GameScreen>();
            //xmlGameScreenManager.Type = CurrentScreen.Type;
            ////CurrentScreen = xmlGameScreenManager.Load("Load/SplashScreen.xml");
            //CurrentScreen = xmlGameScreenManager.Load(Path.Combine(Globals.LoadGameplayScreensDirectory, "SplashScreen.xml"));

            /* Start game at splash screen */
            //Dimensions = new Vector2(640, 480);
            //CurrentScreen = new SplashScreen();
            //xmlGameScreenManager = new XmlManager<GameScreen>();
            //xmlGameScreenManager.Type = CurrentScreen.Type;
            //CurrentScreen = xmlGameScreenManager.Load(Path.Combine(Globals.LoadGameplayScreensDirectory, "SplashScreen.xml"));

            /* Start game at title screen */
            Dimensions = new Vector2(640, 480);
            CurrentScreen = new TitleScreen();
            //CurrentScreen = new LoadingScreen();
            xmlGameScreenManager = new XmlManager<GameScreen>();
            xmlGameScreenManager.Type = CurrentScreen.Type;

            /* Start game at gameplay screen */
            //Dimensions = new Vector2(640, 480);
            //CurrentScreen = new GameplayScreen();
            //xmlGameScreenManager = new XmlManager<GameScreen>();
            //xmlGameScreenManager.Type = CurrentScreen.Type;
        }
        private void Transition(GameTime gameTime)
        {
            if (IsTransitioning)
            {

                //Image.Update(gameTime);
                //if (Image.Alpha == 1.0f)
                if (_fTransitionStarted)
                {
                    _fTransitionStarted = false;

                    CurrentScreen.UnloadContent();
                    CurrentScreen = NewScreen;
                    xmlGameScreenManager.Type = CurrentScreen.Type;
                    if (File.Exists(CurrentScreen.XmlPath))
                        CurrentScreen = xmlGameScreenManager.Load(CurrentScreen.XmlPath);
                    CurrentScreen.LoadContent();
                }
                //else if (Image.Alpha == 0.0f)
                else
                {
                    //Image.IsActive = false;
                    if (!CurrentScreen.IsInitializing) {
                    //	Image.IsActive = false;
                        IsTransitioning = false;
                    }
                }
            }
            else if (InputManager.Instance.InputDisabled)
            {
                _transitionInputDelayCounter += (int)gameTime.ElapsedGameTime.TotalMilliseconds;

                if (_transitionInputDelayCounter > _transitionInputDelay)
                    InputManager.Instance.InputDisabled = false;
            }
        }