示例#1
0
        public Vector2 AlignTopTargetPos(float scrollViewLength, float viewportSize, float viewTrackPos)
        {
            bool  withInLimit = (Mathf.Pow(viewTrackPos, 2) < 0.1);
            float targetPos   = 0;

            return(UtilityMethod.GetDirectionVector((withInLimit) ? targetPos : Mathf.Lerp(viewTrackPos, targetPos, 0.1f),
                                                    0, UltimateScrollView.Direction.TopDown));
        }
        public Vector2 AlignBottomTargetPos(float scrollViewLength, float viewportSize, float viewTrackPos)
        {
            bool withInLimit = (scrollViewLength - viewportSize - viewTrackPos > 0.1);

            float targetPos = scrollViewLength - viewportSize;

            return(UtilityMethod.GetDirectionVector(
                       (withInLimit) ? targetPos : Mathf.Lerp(viewTrackPos, targetPos, 0.1f),
                       0, UltimateScrollView.Direction.RightLeft));
        }
        public Vector2 AlignBottomTargetPos(float scrollViewLength, float viewportSize, float viewTrackPos)
        {
            bool withInLimit = Mathf.Abs(scrollViewLength + viewportSize + viewTrackPos) < 0.1;

            float targetPos = -(scrollViewLength + viewportSize);

            Debug.Log("Bottom " + (scrollViewLength + viewportSize + viewTrackPos));

            return(UtilityMethod.GetDirectionVector(
                       (withInLimit) ? targetPos : Mathf.Lerp(viewTrackPos, targetPos, 0.1f),
                       0, UltimateScrollView.Direction.RightLeft));
        }