public void DisplayYouTubeThumbnail(int modId, string youTubeVideoId) { Debug.Assert(!String.IsNullOrEmpty(youTubeVideoId), "[mod.io] youTubeVideoId needs to be set to a valid YouTube video id."); ImageDisplayData displayData = new ImageDisplayData() { modId = modId, mediaType = ImageDisplayData.MediaType.YouTubeThumbnail, youTubeId = youTubeVideoId, originalTexture = null, thumbnailTexture = null, }; m_data = displayData; DisplayLoading(); ModManager.GetModYouTubeThumbnail(displayData.modId, displayData.youTubeId, (t) => { if (!Application.isPlaying) { return; } if (m_data.Equals(displayData)) { m_data.originalTexture = t; m_data.thumbnailTexture = t; PresentData(); } }, WebRequestError.LogAsWarning); }
private void PresentData() { string imageURL = this.m_data.GetImageURL(this.useOriginal); DisplayLoading(); // request missing texture if (!string.IsNullOrEmpty(imageURL)) { ImageDisplayData iData = this.m_data; ImageRequestManager.instance.RequestImageForData(this.m_data, this.useOriginal, (t) => { if (this != null && iData.Equals(this.m_data)) { if (loadingOverlay != null) { loadingOverlay.SetActive(false); } DisplayTexture(t); SetOverlayVisibility(true); } }, null); } }
private void PresentData() { string imageURL = this.m_data.GetImageURL(this.useOriginal); Texture2D texture = null; // attempt cache retrieval ImageRequestManager.instance.cache.TryGetValue(imageURL, out texture); if (texture != null) { if (loadingOverlay != null) { loadingOverlay.SetActive(false); } DisplayTexture(texture); SetOverlayVisibility(true); return; } // get fallback? if (this.enableFallback && ImageRequestManager.instance.cache.TryGetValue(this.m_data.GetImageURL(!this.useOriginal), out texture)) { DisplayTexture(texture); SetOverlayVisibility(true); if (loadingOverlay != null) { loadingOverlay.SetActive(true); } } else { DisplayLoading(); } // request missing texture if (!string.IsNullOrEmpty(imageURL)) { ImageDisplayData iData = this.m_data; ImageRequestManager.instance.RequestImageForData(this.m_data, this.useOriginal, (t) => { if (this != null && iData.Equals(this.m_data)) { if (loadingOverlay != null) { loadingOverlay.SetActive(false); } DisplayTexture(t); SetOverlayVisibility(true); } }, null); } }
public void DisplayGalleryImage(int modId, GalleryImageLocator locator) { Debug.Assert(locator != null); bool original = m_useOriginal; ModGalleryImageSize size = (original ? ModGalleryImageSize.Original : ImageDisplayData.galleryThumbnailSize); ImageDisplayData displayData = new ImageDisplayData() { modId = modId, mediaType = ImageDisplayData.MediaType.ModGalleryImage, fileName = locator.fileName, originalTexture = null, thumbnailTexture = null, }; m_data = displayData; DisplayLoading(); ModManager.GetModGalleryImage(displayData.modId, locator, size, (t) => { if (!Application.isPlaying) { return; } if (m_data.Equals(displayData)) { m_data.SetImageTexture(original, t); PresentData(); } }, WebRequestError.LogAsWarning); }
// ---------[ UI FUNCTIONALITY ]--------- public void DisplayAvatar(int userId, AvatarImageLocator locator) { Debug.Assert(locator != null); bool original = m_useOriginal; UserAvatarSize size = (original ? UserAvatarSize.Original : ImageDisplayData.avatarThumbnailSize); ImageDisplayData displayData = new ImageDisplayData() { userId = userId, mediaType = ImageDisplayData.MediaType.UserAvatar, fileName = locator.fileName, originalTexture = null, thumbnailTexture = null, }; m_data = displayData; DisplayLoading(); ModManager.GetUserAvatar(displayData.userId, locator, size, (t) => { if (!Application.isPlaying) { return; } if (m_data.Equals(displayData)) { m_data.SetImageTexture(original, t); PresentData(); } }, WebRequestError.LogAsWarning); }