Esempio n. 1
0
 private void SetAsFirstSiblingIfLessShown(NewsItemNode newsItem, Transform containerTransform, GameObject itemObject)
 {
     if (containerTransform.childCount <= 1)
     {
         newsItem.newsItem.ShowCount++;
     }
     else
     {
         EntityBehaviour behaviour = containerTransform.GetChild(0).GetComponent <EntityBehaviour>();
         if ((behaviour != null) && behaviour.Entity.HasComponent <NewsItemComponent>())
         {
             NewsItemComponent component = behaviour.Entity.GetComponent <NewsItemComponent>();
             if (newsItem.newsItem.ShowCount >= component.ShowCount)
             {
                 newsItem.newsItem.ShowCount = component.ShowCount;
             }
             else
             {
                 base.Log.InfoFormat("Reorder item to first: {0}", newsItem);
                 itemObject.GetComponent <RectTransform>().SetAsFirstSibling();
                 newsItem.newsItem.ShowCount++;
                 component.ShowCount--;
             }
         }
     }
 }
Esempio n. 2
0
        private bool NeedHideNewsItem(NewsItemNode newsItem)
        {
            NewsItemFilterEvent eventInstance = new NewsItemFilterEvent();

            base.ScheduleEvent(eventInstance, newsItem);
            return(eventInstance.Hide);
        }
Esempio n. 3
0
        private void DeleteUIIfExists(NewsItemNode newsItem, bool immediate)
        {
            bool flag = newsItem.Entity.HasComponent <NewsItemUIComponent>();

            base.Log.InfoFormat("DeleteUIIfExists: {0} {1}", flag, newsItem);
            if (flag)
            {
                NewsItemUIComponent component = newsItem.Entity.GetComponent <NewsItemUIComponent>();
                component.gameObject.GetComponent <EntityBehaviour>().RemoveUnityComponentsFromEntity();
                if (immediate)
                {
                    Object.DestroyImmediate(component.gameObject);
                }
                else
                {
                    Object.Destroy(component.gameObject);
                }
            }
        }
Esempio n. 4
0
 private void CreateUIIfNeed(NewsItemNode newsItem, NewsContainerNode container)
 {
     if (this.NeedHideNewsItem(newsItem))
     {
         base.Log.InfoFormat("Hide newsItem: {0}", newsItem);
     }
     else
     {
         Transform containerTransform = container.newsContainer.GetContainerTransform(newsItem.newsItem.Data.Layout);
         if (containerTransform == null)
         {
             base.Log.ErrorFormat("Container for NewsItem not found: {0}", newsItem.newsItem.Data);
         }
         else
         {
             GameObject itemObject = Object.Instantiate <GameObject>(container.newsContainer.newsItemPrefab);
             itemObject.GetComponent <RectTransform>().SetParent(containerTransform, false);
             itemObject.GetComponent <EntityBehaviour>().BuildEntity(newsItem.Entity);
             this.seenNews.Add(newsItem.Entity.Id);
             this.SetAsFirstSiblingIfLessShown(newsItem, containerTransform, itemObject);
         }
     }
 }
Esempio n. 5
0
 public void Debug(NodeAddedEvent e, NewsItemNode newsItem)
 {
     base.Log.InfoFormat("Add NewsItem: {0}", newsItem.newsItem.Data);
 }
Esempio n. 6
0
 public void CreateUI(NodeAddedEvent e, [Combine] NewsItemNode newsItem, NewsContainerNode container)
 {
     this.CreateUIIfNeed(newsItem, container);
 }
Esempio n. 7
0
 public void UpdateUI(NewsItemUpdatedEvent e, NewsItemNode newsItem, [JoinAll] NewsContainerNode container)
 {
     base.Log.InfoFormat("Update NewsItem: {0}", newsItem);
     this.DeleteUIIfExists(newsItem, true);
     this.CreateUIIfNeed(newsItem, container);
 }
Esempio n. 8
0
 public void DeleteUI2(NodeRemoveEvent e, NewsContainerNode container, [JoinAll, Combine] NewsItemNode newsItem)
 {
     this.DeleteUIIfExists(newsItem, false);
 }
Esempio n. 9
0
 public void DeleteUI1(NodeRemoveEvent e, NewsItemNode newsItem, [JoinAll] NewsContainerNode container)
 {
     this.DeleteUIIfExists(newsItem, true);
 }