public IEnumerator SubeDeNivelComprobarAtaquesAprendidos(PokemonModelo pokemon)
    {
        for (int i = 0; i < pokemon.DatosFijos.listaDeAtaques.Count; i++)
        {
            if (pokemon.DatosFijos.listaDeAtaques[i].nivelAprender == pokemon.Nivel && pokemon.DatosFijos.listaDeAtaques[i].ataque != AtaqueID.NINGUNO)
            {
                Ataque ataque = ControladorDatos.Instancia.ObtenerAtaque(pokemon.DatosFijos.listaDeAtaques[i].ataque);

                //... Si tiene menos de 4 ataques aprendidos lo asignamos directamente
                if (pokemon.Ataques().Count(x => x.ID == AtaqueID.NINGUNO) > 0)
                {
                    pokemon.AprenderNuevoAtaque(AtaqueID.NINGUNO, pokemon.DatosFijos.listaDeAtaques[i].ataque);

                    string texto = Ajustes.Instancia.textoNuevoAtaqueAprendido
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, ataque.nombre);
                    yield return(StartCoroutine(UIControlador.Instancia.Dialogo.componentePrincipal.MostrarTextoCorrutina(texto, false)));
                }
                else
                {
                    string texto = Ajustes.Instancia.textoPreguntarAprenderNuevoAtaque
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, ataque.nombre);
                    yield return(StartCoroutine(UIControlador.Instancia.Dialogo.componentePrincipal.MostrarTextoCorrutina(texto, false, true)));

                    UIControlador.Instancia.AprenderAtaque.MostrarVentana(pokemon, pokemon.DatosFijos.listaDeAtaques[i].ataque);
                    while (UIControlador.Instancia.AprenderAtaque.gameObject.activeSelf)
                    {
                        yield return(null);
                    }
                }
                break;
            }
            yield return(null);
        }

        yield return(new WaitForSeconds(0.5f));
    }
 private void AccionConfirmarAprenderNuevoAtaque()
 {
     pokemon.AprenderNuevoAtaque(AtaqueSeleccionado.ID, nuevoAtaqueAprender.ID);
     gameObject.SetActive(false);
 }