public void OnClick(ButtonClickEvent e, NewsItemWithUINode newsItem, [JoinAll] UserNode user, [JoinByUser] SingleNode <ClientLocaleComponent> clientLocale) { CheckForTutorialEvent eventInstance = new CheckForTutorialEvent(); base.ScheduleEvent(eventInstance, newsItem); if (!eventInstance.TutorialIsActive) { base.Log.InfoFormat("OnClickNewsItem: {0}", newsItem); if (!string.IsNullOrEmpty(newsItem.newsItem.Data.InternalUrl)) { NavigateLinkEvent event3 = new NavigateLinkEvent { Link = newsItem.newsItem.Data.InternalUrl }; base.ScheduleEvent(event3, newsItem); } else { string externalUrl = newsItem.newsItem.Data.ExternalUrl; if (!string.IsNullOrEmpty(externalUrl)) { Application.OpenURL(externalUrl.Replace(ID, user.Entity.Id.ToString()).Replace(RANK, user.userRank.Rank.ToString()).Replace(UID, user.userUid.Uid).Replace(LOCALE, clientLocale.component.LocaleCode)); } } } }
public void UrlLoadComplete(LoadCompleteEvent e, NewsItemWithUINode newsItem) { WWWLoader loader = (WWWLoader)newsItem.Entity.GetComponent <UrlLoaderComponent>().Loader; Texture tex = this.LoadTexture(loader); if (IsErrorImage(tex)) { base.Log.ErrorFormat("Image decode failed: {0} bytesDownloaded={1} bytesLength={2}", loader.URL, loader.WWW.bytesDownloaded, loader.WWW.bytes.Length); } else { base.Log.InfoFormat("PreviewImage loaded: {0}", loader.URL); this.textureCache[loader.URL] = tex; this.SetImage(newsItem, tex); } }
public void InitUI(NodeAddedEvent e, NewsItemWithUINode newsItem) { NewsItem data = newsItem.newsItem.Data; newsItem.newsItemUI.HeaderText = data.HeaderText; if (!string.IsNullOrEmpty(data.Tooltip)) { newsItem.newsItemUI.Tooltip = data.Tooltip; } if (data.Date.Year > 0x7d0) { newsItem.newsItemUI.DateText = data.Date.ToString("dd.MM.yyyy"); } if (!string.IsNullOrEmpty(data.PreviewImageGuid)) { base.Log.InfoFormat("Request load PreviewImage: {0}", data.PreviewImageGuid); base.ScheduleEvent(new AssetRequestEvent().Init <NewsItemImageDataComponent>(data.PreviewImageGuid), newsItem); } else if (!string.IsNullOrEmpty(data.PreviewImageUrl)) { Texture texture; if (this.textureCache.TryGetValue(data.PreviewImageUrl, out texture)) { base.Log.InfoFormat("Get PreviewImage from cache: {0}", data.PreviewImageUrl); this.SetImage(newsItem, texture); } else { base.Log.InfoFormat("Load PreviewImage: {0}", data.PreviewImageUrl); if (!newsItem.Entity.HasComponent <UrlComponent>()) { UrlComponent component = new UrlComponent { Url = data.PreviewImageUrl, Caching = false, NoErrorEvent = true }; newsItem.Entity.AddComponent(component); } } } if (!string.IsNullOrEmpty(data.CentralIconGuid)) { base.Log.InfoFormat("Request load CentralIcon: {0}", data.CentralIconGuid); base.ScheduleEvent(new AssetRequestEvent().Init <NewsItemCentralIconDataComponent>(data.CentralIconGuid), newsItem); } }
private void ConfigureImage(NewsItemWithUINode newsItem) { newsItem.newsItemUI.ImageContainer.FitInParent = newsItem.newsItem.Data.PreviewImageFitInParent; }
private void SetImage(NewsItemWithUINode newsItem, Texture texture) { newsItem.newsItemUI.ImageContainer.SetRawImage(texture); this.ConfigureImage(newsItem); }