private void MostrarVentanaConfirmacion(EventoBase mensaje) { EventoMostrarVentanaConfirmacion e = (EventoMostrarVentanaConfirmacion)mensaje; if (e.EncolarCorrutina) { ControladorDatos.Instancia.AniadirCorrutinaACola(MostrarVentanaConfirmacion(e)); } else { StartCoroutine(MostrarVentanaConfirmacion(e)); } }
private IEnumerator MostrarVentanaConfirmacion(EventoMostrarVentanaConfirmacion e) { if (e.PokemonPreview != PokemonID.NINGUNO) { ventanaPokemonPreview.gameObject.SetActive(true); ventanaPokemonPreview.sprite = ControladorDatos.Instancia.ObtenerPokemon(e.PokemonPreview).sprite; } ventanConfirmacion.MostrarVentana(); yield return(StartCoroutine(MostrarTextoCorrutina(e.MensajeConfirmacion, false, false, 0f))); while (ventanConfirmacion.UltimaEleccion == Eleccion.EnEspera) { yield return(null); } ventanaPokemonPreview.gameObject.SetActive(false); if (ventanConfirmacion.UltimaEleccion == Eleccion.Si) { if (!string.IsNullOrEmpty(e.MensajeTrasAceptar)) { yield return(StartCoroutine(MostrarTextoCorrutina(e.MensajeTrasAceptar, true))); } if (e.AccionConfirmar != null) { e.AccionConfirmar(); } } else if (ventanConfirmacion.UltimaEleccion == Eleccion.No) { if (!string.IsNullOrEmpty(e.MensajeTrasRechazar)) { yield return(StartCoroutine(MostrarTextoCorrutina(e.MensajeTrasRechazar, true))); } if (e.AccionDenegar != null) { e.AccionDenegar(); } } FinalizarDialogo(); }