client: колесо прокручивает коллекцию на одну полосу карт
CI / test (push) Successful in 2m15s
Details
CI / test (push) Successful in 2m15s
Details
- Исправлено направление и границы SmoothScrollRect: целевая позиция считается в [0, max] и уменьшается на scrollDelta, а не уходила в отрицательные значения (из-за этого колесо не двигало список). - Для сетки коллекции шаг колеса = 448 px (ячейка 434 + отступ 14), то есть один тик — одна полоса карт. - Проверки: EditMode 69/69, standalone собран.
This commit is contained in:
parent
ce687b60da
commit
40759d2494
|
|
@ -213,6 +213,10 @@ namespace Vanguard.UI
|
|||
scrollElement.flexibleHeight = 1f;
|
||||
scrollElement.minHeight = 220f;
|
||||
|
||||
var smooth = scroll.GetComponent<SmoothScrollRect>();
|
||||
if (smooth != null)
|
||||
smooth.WheelStep = 448f;
|
||||
|
||||
var grid = _collectionContent.GetComponent<GridLayoutGroup>();
|
||||
if (grid != null)
|
||||
grid.childAlignment = TextAnchor.UpperLeft;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace Vanguard.UI
|
|||
_target = content.anchoredPosition.y;
|
||||
|
||||
var max = Mathf.Max(0f, content.rect.height - viewport.rect.height);
|
||||
_target = Mathf.Clamp(_target + eventData.scrollDelta.y * WheelStep, -max, 0f);
|
||||
_target = Mathf.Clamp(_target - eventData.scrollDelta.y * WheelStep, 0f, max);
|
||||
velocity = Vector2.zero;
|
||||
_smooth = true;
|
||||
}
|
||||
|
|
@ -49,7 +49,7 @@ namespace Vanguard.UI
|
|||
|
||||
var position = content.anchoredPosition;
|
||||
var max = Mathf.Max(0f, content.rect.height - viewport.rect.height);
|
||||
_target = Mathf.Clamp(_target, -max, 0f);
|
||||
_target = Mathf.Clamp(_target, 0f, max);
|
||||
|
||||
var t = 1f - Mathf.Exp(-Time.unscaledDeltaTime / Mathf.Max(0.01f, Smoothing));
|
||||
var next = Mathf.Lerp(position.y, _target, t);
|
||||
|
|
|
|||
Loading…
Reference in New Issue