Esempio n. 1
0
 private void Init()
 {
     m_scrollRect = GetComponentInChildren <LoopVerticalScrollRect>();
     m_head       = GetComponentInChildren <WHead>();
     Assert.IsNotNull(m_scrollRect);
     Assert.IsNotNull(m_head);
     m_scrollRectTransform    = m_scrollRect.GetComponent <RectTransform>();
     m_scrollbarRectTransform = m_scrollRect.verticalScrollbar.GetComponent <RectTransform>();
     Assert.IsNotNull(m_scrollRectTransform);
     Assert.IsNotNull(m_scrollbarRectTransform);
     m_init = true;
 }
Esempio n. 2
0
    public async void OnContentLoaded(Content content)
    {
        scrollRect.ClearCells();

        scrollRect.totalCount = content.Season.tiers.Count + 1;
        var tiers = new List <TierData>(content.Season.tiers)
        {
            new TierData {
                isScrollRectFix = true
            }
        };

        for (var i = 0; i < tiers.Count - 1; i++)
        {
            var tier = tiers[i];
            tier.index = i;
            if (tier.Meta.parsedCriteria == default)
            {
                tier.Meta.parsedCriteria = tier.Meta.criteria.Select(Criterion.Parse).ToList();
            }
            if (tier.Meta.parsedStages == default)
            {
                tier.Meta.parsedStages = new List <Level>();
                tier.Meta.validStages  = new List <bool>();
                for (var stage = 0; stage < Math.Min(tier.Meta.stages.Count, 3); stage++)
                {
                    var level = tier.Meta.stages[stage].ToLevel(LevelType.Tier);
                    tier.Meta.parsedStages.Add(level);
                    tier.Meta.validStages.Add(level.IsLocal && level.Type == LevelType.Tier &&
                                              level.Meta.version == tier.Meta.stages[stage].Version);
                }
            }
        }

        scrollRect.objectsToFill = tiers.Cast <object>().ToArray();
        scrollRect.RefillCells();
        scrollRect.GetComponent <TransitionElement>().Apply(it =>
        {
            it.Leave(false, true);
            it.Enter();
        });
        LayoutFixer.Fix(scrollRect.content, count: 6);

        if (lastScrollPosition > -1)
        {
            await UniTask.DelayFrame(5);

            LayoutFixer.Fix(scrollRect.content, count: 6);
            scrollRect.SetVerticalNormalizedPositionFix(lastScrollPosition);
        }
        StartCoroutine(SnapCoroutine());
    }
Esempio n. 3
0
    protected override void OnRendered()
    {
        base.OnRendered();

        scrollRect.GetComponent <TransitionElement>()
        .Let(it =>
        {
            it.Leave(false, true);
            it.Enter();
        });

        icons.Leave(false, true);
        if (LoadedPayload.Collection.owner.Uid != Context.OfficialAccountId)
        {
            icons.Enter();
        }

        if (coverImage.sprite == null || coverImage.sprite.texture == null)
        {
            AddTask(async token =>
            {
                Sprite sprite;
                try
                {
                    sprite = await Context.AssetMemory.LoadAsset <Sprite>(LoadedPayload.Collection.cover.CoverUrl,
                                                                          AssetTag.CollectionCover, cancellationToken: token);
                }
                catch
                {
                    return;
                }

                if (sprite != null)
                {
                    coverImage.sprite = sprite;
                    coverImage.FitSpriteAspectRatio();
                    coverImage.DOColor(new Color(0.2f, 0.2f, 0.2f, 1), 0.4f);
                }
            });
        }
        else
        {
            coverImage.DOColor(new Color(0.2f, 0.2f, 0.2f, 1), 0.4f);
        }
    }
Esempio n. 4
0
        private void Init()
        {
            m_scrollRect = GetComponentInChildren <LoopVerticalScrollRect>();
            m_head       = GetComponentInChildren <WHead>();
            Assert.IsNotNull(m_scrollRect);
            Assert.IsNotNull(m_head);
            m_scrollRectTransform    = m_scrollRect.GetComponent <RectTransform>();
            m_destoryButton          = GetComponentInChildren <Button>();
            m_scrollbarRectTransform = m_scrollRect.verticalScrollbar.GetComponent <RectTransform>();
            Assert.IsNotNull(m_scrollRectTransform);
            Assert.IsNotNull(m_scrollbarRectTransform);

            m_destoryButton.onClick.AddListener(() =>
            {
                if (isDestroyAble)
                {
                    Destroy(this.gameObject);
                }
            });

            m_init = true;
        }