Пример #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--;
             }
         }
     }
 }
Пример #2
0
        private void Update()
        {
            if (this.swapTrigger || ((Time.time >= (this.swapBeginTime + this.swapPeriod)) || IsManualSwap()))
            {
                this.SwapItems();
                this.swapTrigger = false;
            }
            float num      = 0f;
            float itemSize = 0f;

            if (base.transform.childCount > 1)
            {
                RectTransform child = (RectTransform)base.transform.GetChild(0);
                itemSize = child.rect.width;
                if (this.swapping)
                {
                    if (Time.time < (this.swapBeginTime + this.swapTime))
                    {
                        num = (Time.time - this.swapBeginTime) / this.swapTime;
                    }
                    else
                    {
                        this.swapping = false;
                        child.SetAsLastSibling();
                        child.gameObject.SetActive(false);
                        this.mask.enabled = false;
                    }
                }
            }
            for (int i = 0; i < base.transform.childCount; i++)
            {
                float     offset = i - num;
                Transform child  = base.transform.GetChild(i);
                bool      flag   = (i == 0) || ((i == 1) && this.swapping);
                if (flag != child.gameObject.activeSelf)
                {
                    child.gameObject.SetActive(flag);
                    if (flag)
                    {
                        NewsItemComponent component = child.GetComponent <EntityBehaviour>().Entity.GetComponent <NewsItemComponent>();
                        component.ShowCount++;
                    }
                }
                this.SetOffset(child, itemSize, offset);
                this.OverlapFix(child);
            }
        }