private void OnPull(float distance) { if (m_IsRefreshing && Math.Abs(distance) < 1f) { m_IsRefreshing = false; } if (m_IsPulled && m_ScrollView.Dragging) { return; } m_Progress = distance / m_PullDistanceRequiredRefresh; if (m_Progress < 1f) { return; } // Start animation when you reach the required distance while dragging. if (m_ScrollView.Dragging) { m_IsPulled = true; m_LoadingAnimator.SetBool(_activityIndicatorStartLoadingName, true); } // ドラッグした状態で必要距離に達したあとに、指を離したらリフレッシュ開始 if (m_IsPulled && !m_ScrollView.Dragging) { m_IsRefreshing = true; m_OnRefresh.Invoke(); } m_Progress = 0f; }
private void OnPull(float distance) { if (m_IsRefreshing && Math.Abs(distance) < 1f) { m_IsRefreshing = false; } if (m_IsPulled && m_ScrollView.Dragging) { return; } if (m_IsPulled && !m_ScrollView.Dragging) { m_IsRefreshing = true; m_OnRefresh.Invoke(); } m_Progress = distance / m_PullDistanceRequiredRefresh; if (m_Progress < 1f) { return; } m_Progress = 0f; m_IsPulled = true; }