Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        // ---------[ 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);
        }