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; } } }