private ImageDisplay InstantiatePrefab(GameObject imagePrefab)
        {
            Debug.Assert(imagePrefab != null);

            GameObject   media_go     = GameObject.Instantiate(imagePrefab, container);
            ImageDisplay mediaDisplay = media_go.GetComponent <ImageDisplay>();

            mediaDisplay.Initialize();

            return(mediaDisplay);
        }
        public override void DisplayMedia(int modId,
                                          LogoImageLocator logoLocator,
                                          IEnumerable <GalleryImageLocator> galleryImageLocators,
                                          IEnumerable <string> youTubeURLs)
        {
            ClearDisplays();

            if (logoLocator != null &&
                logoPrefab != null)
            {
                var display = InstantiatePrefab(logoPrefab);
                display.DisplayLogo(modId, logoLocator);
                display.onClick += NotifyLogoClicked;

                this.m_logoDisplay = display;
            }

            if (youTubeURLs != null &&
                youTubeThumbnailPrefab != null)
            {
                foreach (string url in youTubeURLs)
                {
                    var display = InstantiatePrefab(youTubeThumbnailPrefab);
                    display.DisplayYouTubeThumbnail(modId, Utility.ExtractYouTubeIdFromURL(url));
                    display.onClick += NotifyYouTubeThumbnailClicked;

                    m_youTubeDisplays.Add(display);
                }
            }

            if (galleryImageLocators != null &&
                galleryImagePrefab != null)
            {
                foreach (GalleryImageLocator locator in galleryImageLocators)
                {
                    var display = InstantiatePrefab(galleryImagePrefab);
                    display.DisplayGalleryImage(modId, locator);
                    display.onClick += NotifyGalleryImageClicked;

                    m_galleryDisplays.Add(display);
                }
            }

            if (Application.isPlaying)
            {
                LateLayoutUpdate();
            }
        }
        private void ClearDisplays()
        {
            #if UNITY_EDITOR
            if (!Application.isPlaying)
            {
                foreach (ImageDisplay display in allDisplays)
                {
                    GameObject.DestroyImmediate(display.gameObject);
                }
            }
            else
            #endif
            {
                foreach (ImageDisplay display in allDisplays)
                {
                    GameObject.Destroy(display.gameObject);
                }
            }

            this.m_logoDisplay = null;
            this.m_youTubeDisplays.Clear();
            this.m_galleryDisplays.Clear();
        }
Exemple #4
0
        private void MediaPreview_YouTubeThumbnail(ImageDisplay display)
        {
            ImageDisplayData displayData = display.data;

            selectedMediaPreview.data = displayData;
        }
Exemple #5
0
        private void MediaPreview_GalleryImage(ImageDisplay display)
        {
            ImageDisplayData imageData = display.data;

            selectedMediaPreview.data = imageData;
        }