예제 #1
0
 private void DisplayPanel(GameObject panel, string header)
 {
     HideAllPanels();
     panel.SetActive(true);
     headerText.text = "Help - " + header;
     scrollRect.DOVerticalNormalizedPos(1, 0.25f);
 }
예제 #2
0
        /// <summary>
        /// 滚动到指定位置 0~1
        /// </summary>
        /// <param name="position">Position.</param>
        /// <param name="duration">Duration.</param>
        /// <param name="ease">Ease.</param>
        public void ScrollToPosition(float position, float duration = 0.4f, Ease ease = Ease.OutCubic)
        {
            OnInitializePotentialDrag();

            position = Mathf.Max(0, Mathf.Min(position, 1));
            if (duration > 0)
            {
                if (m_isVertical)
                {
                    m_scrollTweener = m_scrollRect.DOVerticalNormalizedPos(position, duration).SetEase(ease);
                }
                else
                {
                    m_scrollTweener = m_scrollRect.DOHorizontalNormalizedPos(position, duration).SetEase(ease);
                }
            }
            else
            {
                if (m_isVertical)
                {
                    m_scrollRect.verticalNormalizedPosition = position;
                }
                else
                {
                    m_scrollRect.horizontalNormalizedPosition = position;
                }
            }
        }
        public static void AutoFocus(this ScrollRect scroll, Transform itemTransform, out Vector2 finalItemPosition)
        {
            float originalScrollPosition = scroll.verticalNormalizedPosition;
            float scrollPosition         = (scroll.content.rect.height + itemTransform.localPosition.y) / scroll.content.rect.height;

            scroll.verticalNormalizedPosition = scrollPosition;
            finalItemPosition = itemTransform.position;
            scroll.verticalNormalizedPosition = originalScrollPosition;
            scroll.DOVerticalNormalizedPos(scrollPosition, ViewValues.STANDARD_TIME);
        }
예제 #4
0
    public void AddComent(string text, Sprite portrait)
    {
        GameObject obj     = Instantiate(commentPrefab, transform.position, transform.rotation, commentsContent);
        var        content = obj.GetComponent <CommentContent>();

        content.SetText(text);
        content.SetAvatar(portrait);
        scroll.DOVerticalNormalizedPos(0, 1);
        //obj.GetComponent<CommentContent>().set
    }
예제 #5
0
    public void CenterButton(RectTransform button)
    {
        if (MenuManager.Instance.mouseControl)
        {
            return;
        }

        float movement = 1f - (float)elements.FirstOrDefault(x => x.Value == button).Key / (float)(elements.Count - 1);

        scrollRect.DOVerticalNormalizedPos(movement, centerDuration).SetEase(centerEase);
    }
 public IEnumerator IEInitLevelSelectMenuBtns()
 {
     for (int i = 0; i < scrollRect.content.childCount; i++)
     {
         if (i < maxSectionIndex)
         {
             scrollRect.content.GetChild(i).DOScale(Vector3.one, BtnAppearAnimTime);
             yield return(new WaitForSeconds(BtnAppearAnimTime));
         }
     }
     scrollRect.DOVerticalNormalizedPos(1, BtnAppearAnimTime * 2);
 }
예제 #7
0
    public void AddOneNewProgressionMessage(int index, List <string> listMessages, Action callback)
    {
        if (index >= listMessages.Count)
        {
            currentlyInProgressionMessages = false;
            callback?.Invoke();
            return;
        }

        string text = listMessages[index];

        GameObject newText = Instantiate(textMessagePrefab, scrollContentTransform);

        newText.GetComponent <Text>().text = System.DateTime.Now.Hour + ":" + System.DateTime.Now.Minute + "   " + text;
        scrollRect.DOVerticalNormalizedPos(0f, 1f, true).SetDelay(0.01f);

        scrollBackground.DOKill(true);
        scrollBackground.DOColor(notifyColor, 0.2f).OnComplete(() =>
        {
            scrollBackground.DOColor(normalColor, 0.2f).OnComplete(() =>
            {
                scrollBackground.DOColor(notifyColor, 0.2f).SetDelay(0.3f).OnComplete(() =>
                {
                    scrollBackground.DOColor(normalColor, 0.2f);
                });
            });
        });

        scrollBackground.transform.parent.DOKill(true);
        scrollBackground.transform.parent.DOLocalMoveY(originalPos.y + 20f, 0.2f).OnComplete(() =>
        {
            scrollBackground.transform.parent.DOLocalMoveY(originalPos.y, 0.2f);
        });

        DOVirtual.DelayedCall(2f, () =>
        {
            AddOneNewProgressionMessage(index + 1, listMessages, callback);
        });
    }
예제 #8
0
    public void JumpTo(int cellIndex, float tweenTime = 0f, OnCenterCallback onStart = null, OnCenterCallback onEnd = null)
    {
        if (cellIndex < 0 || cellIndex >= CellNum)
        {
            return;
        }

        _curCellIndex = cellIndex;

        float endScrollPos = GetCellScrollPos(cellIndex);

        _scrollRect.DOKill();
        if (tweenTime < 0.001f)
        {
            //Instant tween
            this.ScrollPosition = endScrollPos;
            if (onStart != null)
            {
                onStart(cellIndex);
            }
            if (onEnd != null)
            {
                onEnd(cellIndex);
            }
        }
        else
        {
            //use DOTween move scrollRect
            if (onStart != null)
            {
                onStart(cellIndex);
            }

            TweenCallback onTweenFinish = () =>
            {
                if (onEnd != null)
                {
                    onEnd(cellIndex);
                }
            };

            if (_scrollRect.horizontal)
            {
                _scrollRect.DOHorizontalNormalizedPos(endScrollPos, tweenTime).OnComplete(onTweenFinish).SetEase(easeType);
            }
            else
            {
                _scrollRect.DOVerticalNormalizedPos(endScrollPos, tweenTime).OnComplete(onTweenFinish).SetEase(easeType);
            }
        }
    }
예제 #9
0
        /// <summary>
        /// Creates and returns a Tween for the informed component.
        /// The Tween is configured based on the attribute values of this TweenData file.
        /// </summary>
        /// <param name="transform"></param>
        /// <returns></returns>
        public Tween GetTween(ScrollRect scroll)
        {
            switch (command)
            {
            case ScrollRectCommand.NormalizedPos:
                return(scroll.DONormalizedPos(pos, duration, snapping));

            case ScrollRectCommand.HorizontalNormalizedPos:
                return(scroll.DOHorizontalNormalizedPos(to, duration, snapping));

            case ScrollRectCommand.VerticalPos:
                return(scroll.DOVerticalNormalizedPos(to, duration, snapping));

            default:
                return(null);
            }
        }
예제 #10
0
    public override Tween GetTween(UniTween.UniTweenTarget uniTweenTarget)
    {
        ScrollRect scroll = (ScrollRect)GetComponent(uniTweenTarget);

        switch (command)
        {
        case ScrollRectCommand.NormalizedPos:
            return(scroll.DONormalizedPos(pos, duration, snapping));

        case ScrollRectCommand.HorizontalNormalizedPos:
            return(scroll.DOHorizontalNormalizedPos(to, duration, snapping));

        case ScrollRectCommand.VerticalPos:
            return(scroll.DOVerticalNormalizedPos(to, duration, snapping));

        default:
            return(null);
        }
    }
예제 #11
0
 void OnScollUpClicked()
 {
     scrollRect.DOVerticalNormalizedPos(1f, .5f).SetEase(Ease.OutBack);
 }
예제 #12
0
 /// <summary>
 /// Shows the credits
 /// </summary>
 private void ShowCredits()
 {
     SetCreditsDefaultState();
     m_ScrollRect.DOVerticalNormalizedPos(0, m_ShowingTime).SetEase(Ease.Linear).SetId("Credits");
     m_BackButton.transform.DOScale(1, 0.5f).SetEase(Ease.OutExpo).SetDelay(m_ShowingTime - 7f).SetId("Credits");
 }