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(); }
private void MediaPreview_YouTubeThumbnail(ImageDisplay display) { ImageDisplayData displayData = display.data; selectedMediaPreview.data = displayData; }
private void MediaPreview_GalleryImage(ImageDisplay display) { ImageDisplayData imageData = display.data; selectedMediaPreview.data = imageData; }