public void NuevaPantalla(TiposP pantalla)
 {
     pantalla.ControlMenus = this;
     pantalla.LoadContent();
     pantallas.Add(pantalla);
     TouchPanel.EnabledGestures = pantalla.GestureType;
 }
 /// <summary>
 /// Elimina una pantalla.Se usa en el evento BackBoton automáticamente.
 /// </summary>
 public void EliminarPantalla(TiposP pantalla)
 {
     pantalla.UnloadContent();
     pantallas.Remove(pantalla);
     pantallasListaActualizar.Remove(pantalla);
     if (pantallas.Count > 0){
         TouchPanel.EnabledGestures = pantallas[pantallas.Count - 1].GestureType;
         //miramos el tipo de pulsación del usuario.
     }
 }
 /// <summary>
 /// Elimina una pantalla.Se usa en el evento BackBoton automáticamente.
 /// </summary>
 public void EliminarPantalla(TiposP pantalla)
 {
     pantalla.UnloadContent();
     pantallas.Remove(pantalla);
     pantallasListaActualizar.Remove(pantalla);
     if (pantallas.Count > 0)
     {
         TouchPanel.EnabledGestures = pantallas[pantallas.Count - 1].GestureType;
         //miramos el tipo de pulsación del usuario.
     }
 }
        public override void Update(GameTime gameTime)
        {
            bool focoPantalla = !Game.IsActive;

            // Actualizamos la pantalla tactil y el pad.
            entrada.Update();

            // Vaciamos la lista de pantallas a actualizar anteriores.
            pantallasListaActualizar.Clear();
            //Añadimos todas las pantallas.
            foreach (TiposP pantalla in pantallas)
            {
                pantallasListaActualizar.Add(pantalla);
            }

            while (pantallasListaActualizar.Count > 0)
            {
                // A partir de ahora usamos la lista normal,quitando la pantalla anterior.
                //(es la primera a actualizar,la qe esta en activo)
                TiposP pantalla = pantallasListaActualizar[pantallasListaActualizar.Count - 1];
                pantallasListaActualizar.RemoveAt(pantallasListaActualizar.Count - 1);
                pantalla.Update(gameTime, false);
                //Si la pantalla está activa.
                if (pantalla.Estado == EstadoP.activo)
                {
                    //Si es la primerapantalla, activamos panel tactil.
                    if (!focoPantalla)
                    {
                        pantalla.BackBoton(entrada);
                        pantalla.ControlTactil(gameTime, entrada);
                        focoPantalla = true;
                    }
                }
                //CONTROL TACTIL PARA BOTONES
                TouchCollection touches = TouchPanel.GetState();
                if (touches.Count == 1)
                {
                    _touchLocation         = touches[0];
                    Botones._TouchLocation = _touchLocation;
                }
                else
                {
                    _touchLocation         = null;
                    Botones._TouchLocation = _touchLocation;
                }
            }
        }
 public void NuevaPantalla(TiposP pantalla)
 {
     pantalla.ControlMenus = this;
     pantalla.LoadContent();
     pantallas.Add(pantalla);
     TouchPanel.EnabledGestures = pantalla.GestureType;
 }