private IEnumerator CargarImagenes(List <Imagen> imagenes) { InterfazProgreso.ActualizarAccion(_nombreAccion, 10, "Iniciando la visualización"); int index = 1; int total = imagenes.Count; int delta = 90 / total; for (int i = total - 1; i >= 0; i--) //foreach (Imagen imagen in imagenes) { Imagen imagen = imagenes[i]; string nombreComponente = this._prefijoComponenteImagen + index; GameObject ContenedorImagen = GameObject.Find(nombreComponente); ContenedorImagen.SetActive(false); string url = this._ftp + imagen.direccionImagen; var loaded = UnityWebRequestTexture.GetTexture(url); //loaded.timeout = 0; yield return(loaded.SendWebRequest()); if (loaded.isNetworkError || loaded.isHttpError) { Debug.Log("Error cargando imagen " + url + ". " + loaded.error); Recorrido.RemoverImagenById(imagen.idImagen); MonoBehaviour.Destroy(ContenedorImagen); } else { try{ ContenedorImagen.name = _prefijoComponenteImagenFinal + imagen.idImagen; Texture2D texture = ((DownloadHandlerTexture)loaded.downloadHandler).texture as Texture2D; RectTransform rt = (RectTransform)ContenedorImagen.transform; float proporcion = Convert.ToSingle(texture.width) / Convert.ToSingle(texture.height); if (proporcion > 1) { //Imagen mas ancha que larga rt.sizeDelta = new Vector2((_tamanoStandarImagen * proporcion), _tamanoStandarImagen); } else { rt.sizeDelta = new Vector2(_tamanoStandarImagen, (_tamanoStandarImagen / proporcion)); } Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.one / 2); ContenedorImagen.GetComponent <Image>().sprite = sprite; Recorrido.AgregarGameObjectImagen(ContenedorImagen, imagen.idImagen); }catch (Exception e) { Debug.Log("Error cargando imagen " + url + " ." + e.Message); Recorrido.RemoverImagenById(imagen.idImagen); MonoBehaviour.Destroy(ContenedorImagen); } } InterfazProgreso.ActualizarAccion(_nombreAccion, 10 + index * delta, _mensajesProgreso[index % _mensajesProgreso.Count]); index++; } if (Recorrido.listaImagenes.Count > 0) { Recorrido.imagenActual = Recorrido.listaImagenes[0].idImagen; Recorrido.MostrarImagen(Recorrido.imagenActual); } InterfazProgreso.ActualizarAccion(_nombreAccion, 100, "Recorrido creado con éxito"); }