private IEnumerator SetThumbnailImage(string url, RawImage image) { if (image != null) { url = VRCAPIHandler.CheckProxyUrl(url, true); Texture2D tex; tex = new Texture2D(4, 4, TextureFormat.DXT1, false); Debug.Log("Getting image from " + url); using (WWW www = new WWW(url)) { yield return(www); Debug.Log("Got image response. Size: " + Mathf.Round(www.bytes.Length / 1000).ToString() + " KB"); if (image != null) { www.LoadImageIntoTexture(tex); image.texture = tex; } //GetComponent<Renderer>().material.mainTexture = tex; } } }
public void LoadAvatar(string avatarID, string worldId = "") { //todo: Disable ui? //todo: cancel button try { UIManager.instance.SetMainTitle("Loading avatar", "Getting avatar info..."); StartCoroutine(VRCAPIHandler.GetAvatarInfo(avatarID, (avatarInfo) => { if (avatarInfo.releaseStatus != "public") { UIManager.instance.SetMainTitle(null, "This avatar is not public and cannot be viewed."); return; } UIManager.instance.SetMainTitle(avatarInfo.name, "By: " + avatarInfo.authorName); StartCoroutine(DownloadAvatar(VRCAPIHandler.CheckProxyUrl(avatarInfo.assetUrl), () => { StartCoroutine(InstantiateAvatar(() => { StartCoroutine(GetInformation(avatarInfo, instantiatedAvatar)); UIManager.instance.SetMainTitle(avatarInfo.name, "By: " + avatarInfo.authorName); UIManager.instance.SetLoadedAvatarId(avatarInfo.id); GameObject mouseOrbitFollow = new GameObject("MouseOrbitFollow"); //mouseOrbitFollow.transform.position = instantiatedAvatar.GetComponentInChildren<Renderer>().bounds.center; var boundsCenter = instantiatedAvatar.GetComponentInChildren <Renderer>().bounds.center; mouseOrbitFollow.transform.position = new Vector3(0f, boundsCenter.y, 0f); mouseOrbit.target = mouseOrbitFollow.transform; if (avatarInfo.name == null) { avatarInfo.name = ""; } if (avatarInfo.authorName == null) { avatarInfo.authorName = "?"; } StartCoroutine(ResetAvatarPosition()); WebpageUtilities.SetURLParameters(avatarInfo.id); if (!string.IsNullOrEmpty(worldId)) { Debug.Log("Getting world info..."); StartCoroutine(VRCAPIHandler.GetWorldInfo(worldId, (info) => { Debug.Log("From world " + info.name); //avatarInfo.authorName += "\r\n" + "From world: " + info.name; UIManager.instance.SetMainTitle(avatarInfo.name, "By: " + avatarInfo.authorName + "\r\n" + "From world: " + info.name); })); } //todo: enable UI })); })); }, (error) => { UIManager.instance.SetMainTitle(null, "Error"); })); } catch (Exception e) { Debug.Log(e.ToString()); } }