private IEnumerator SetupImpl(StoreItemSection section) { yield return(new WaitUntil(() => asyncLoader.gameObject.activeSelf && asyncLoader.gameObject.activeInHierarchy)); asyncLoader.ActivateItems(() => { print("activated completed"); var scrollData = new FloatAnimationData { StartValue = scrollRect.verticalNormalizedPosition, EndValue = sectionPoints[section], Duration = GetAnimationInterval(GetDistance(section)), AnimationMode = BosAnimationMode.Single, EaseType = EaseType.EaseInOutQuad, Target = scrollRect.gameObject, OnStart = (v, o) => scrollRect.verticalNormalizedPosition = v, OnUpdate = (v, t, o) => scrollRect.verticalNormalizedPosition = v, OnEnd = (v, o) => scrollRect.verticalNormalizedPosition = v }; animator.StartAnimation(scrollData); }); }