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; }
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()); }
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); } }
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; }