Пример #1
0
    void DetermineTrim(ScrollButtonDirection scrollDir)
    {
        if (scrollDir != ScrollButtonDirection.None ||
            displayPool.Count <= MaxViews)
        {
            return;
        }

        for (int i = displayPool.Count - 1; i >= 0; i--)
        {
            if (i < MaxViews)
            {
                continue;
            }
            ReturnViewToPool(displayPool[i]);
        }
    }
Пример #2
0
    void DetermineScrollRate()
    {
        scrollTime += Time.deltaTime;

        var scrollValue = scrollBar.value;

        if (scrollValue > 0.45f && scrollValue < 0.55f)
        {
            scrollTime = 0f;
            return;
        }

        var speedMulti = 0.1f;
        ScrollButtonDirection direction = ScrollButtonDirection.None;

        if (scrollValue < 0.45f)
        {
            direction  = ScrollButtonDirection.Down;
            speedMulti = Mathf.Lerp(0.1f, 1f, scrollValue / 0.45f);
        }
        else
        {
            direction  = ScrollButtonDirection.Up;
            speedMulti = Mathf.Lerp(0.1f, 1f, (1f - scrollValue) / 0.45f);
        }

        if (scrollTime >= scrollSpeed * speedMulti)
        {
            scrollTime = 0f;
            if (direction == ScrollButtonDirection.Up)
            {
                OnScrollUp();
            }
            if (direction == ScrollButtonDirection.Down)
            {
                OnScrollDown();
            }
        }
    }
Пример #3
0
    void TryShowView(ChatEntryData data, bool forBottom, int proposedIndex, ScrollButtonDirection scrollDir = ScrollButtonDirection.None)
    {
        var entry = GetViewFromPool();

        if (forBottom)
        {
            entry.transform.SetAsLastSibling();
            displayPool.Insert(0, entry);
        }
        else
        {
            entry.transform.SetAsFirstSibling();
            displayPool.Add(entry);
        }

        if (!gameObject.activeInHierarchy)
        {
            return;
        }
        entry.SetChatEntryView(data, this, proposedIndex, contentWidth);
        DetermineTrim(scrollDir);
    }
Пример #4
0
 public ScrollBarButton(ScrollButtonDirection direction)
 {
     this.Direction = direction;
 }
Пример #5
0
 private ArrowDirection GetArrowDirection(ScrollButtonDirection buttonDirection)
 {
     return((ArrowDirection)buttonDirection);
 }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the RadRepeatButtonElement class using scroll
 /// button direction.
 /// </summary>
 public RadRepeatScrollButtonElement(ScrollButtonDirection direction)
 {
     this.Direction = direction;
 }