private void FuncPrepareToSnapping() { if (Mathf.Abs(m_ScrollRect.velocity.x) <= m_SpeedThreshold) { m_FromHorizontalPosition = m_RectContentTrans.anchoredPosition.x; m_ToHorizontalPosition = m_FromHorizontalPosition + GetNearestX(0); m_Step = SnappingStep.Snapping; m_ScrollRect.velocity = Vector2.zero; m_Time = 0; } }
public void Initialize() { m_ElementList = new List <RectTransform>(); m_ScrollRect = GetComponent <ScrollRect>(); m_ScrollRectTrans = m_ScrollRect.transform as RectTransform; m_RectContentTrans = m_ScrollRect.content; foreach (RectTransform t in m_RectContentTrans) { m_ElementList.Add(t); } m_Step = SnappingStep.PrepareToSnapping; }
public void Initialize() { m_ElementList = new List<RectTransform>(); m_ScrollRect = GetComponent<ScrollRect>(); m_ScrollRectTrans = m_ScrollRect.transform as RectTransform; m_RectContentTrans = m_ScrollRect.content; foreach (RectTransform t in m_RectContentTrans) { m_ElementList.Add(t); } m_Step = SnappingStep.PrepareToSnapping; }
private void FuncSnapping() { float percentage = m_Time / m_SnapTime; m_Time += Time.deltaTime; float x = EaseOutCubic(m_FromHorizontalPosition, m_ToHorizontalPosition, percentage); Vector3 position = m_RectContentTrans.anchoredPosition; position.x = x; m_RectContentTrans.anchoredPosition = position; if (percentage >= 1) { m_Step = SnappingStep.None; } }
public void OnEndDrag(PointerEventData eventData) { m_Step = SnappingStep.PrepareToSnapping; }
public void OnBeginDrag(PointerEventData eventData) { m_Step = SnappingStep.Drag; }
private void FuncSnapping() { float percentage = m_Time / m_SnapTime; m_Time += Time.deltaTime; float x = EaseOutCubic(m_FromHorizontalPosition, m_ToHorizontalPosition, percentage); Vector3 position = m_RectContentTrans.anchoredPosition; position.x = x; m_RectContentTrans.anchoredPosition = position; if(percentage >= 1) { m_Step = SnappingStep.None; } }
private void FuncPrepareToSnapping() { if(Mathf.Abs(m_ScrollRect.velocity.x) <= m_SpeedThreshold) { m_FromHorizontalPosition = m_RectContentTrans.anchoredPosition.x; m_ToHorizontalPosition = m_FromHorizontalPosition + GetNearestX(0); m_Step = SnappingStep.Snapping; m_ScrollRect.velocity = Vector2.zero; m_Time = 0; } }
public void OnEndDrag(PointerEventData eventData) { m_Step = SnappingStep.PrepareToSnapping; }
public void OnBeginDrag(PointerEventData eventData) { m_Step = SnappingStep.Drag; }