public override void Update(GameTime gameTime)
 {
     if (!_game.IsActive)
         return;
     Input.Update();
     Timers.Update(gameTime.ElapsedGameTime);
     foreach (GameScreen s in _screens) {
         if (s==_updateSkip)
             continue;
         s.UpdateAlways(gameTime);
         /*if (s.Enabled)
             s.Update(gameTime);*/
     }
     int i=_screens.Count-1;
     while (!_screens[i].Enabled&&i>0){
         i--;
     }
     _screens[i].Update(gameTime);
     _updateSkip=null;
     base.Update(gameTime);
 }
 /// <summary>
 /// Add a new screen
 /// </summary>
 /// <param name="screen">GameScreen to add</param>
 /// <param name="name">Name for the screen</param>
 public void AddScreen(GameScreen screen,string name)
 {
     AddScreen(screen,name,false);
 }
 /// <summary>
 /// Enable a GameScreen
 /// </summary>
 /// <param name="name">Screen name</param>
 public void EnableScreen(string name)
 {
     _updateSkip=_screens[_screenRef[name]];
     _screens[_screenRef[name]].Enable();
 }
 /// <summary>
 /// Add a new screen
 /// </summary>
 /// <param name="screen">GameScreen to add</param>
 /// <param name="name">Name for the screen</param>
 /// <param name="enable">Enable the screen</param>
 public void AddScreen(GameScreen screen,string name,bool enable)
 {
     screen.spriteBatch=spriteBatch;
     screen.Manager=this;
     _screens.Add(screen);
     _screenRef[name]=_screens.Count-1;
     screen.Initialise();
     if (_contentLoaded)
         screen.LoadContent();
     if (!enable)
         screen.Disable();
 }