VirtualScrollRect.cs 998 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.EventSystems;
  6. using UnityEngine.UI;
  7. public class VirtualScrollRect : ScrollRect
  8. {
  9. #region
  10. public Action OnVerticalLessEqual0;
  11. public Action OnVerticalGreaterEqual1;
  12. public Action OnHorizontalLessEqual0;
  13. public Action OnHorizontalGreaterEqual1;
  14. #endregion
  15. public void Recycle(Vector2 contentOffset)
  16. {
  17. m_ContentStartPosition += contentOffset;
  18. }
  19. public override void OnDrag(PointerEventData eventData)
  20. {
  21. base.OnDrag(eventData);
  22. if (verticalNormalizedPosition >= 1)
  23. OnVerticalGreaterEqual1.SafeInvoke();
  24. if (verticalNormalizedPosition <= 0)
  25. OnVerticalLessEqual0.SafeInvoke();
  26. if (horizontalNormalizedPosition >= 1)
  27. OnHorizontalGreaterEqual1.SafeInvoke();
  28. if (horizontalNormalizedPosition <= 0)
  29. OnHorizontalLessEqual0.SafeInvoke();
  30. }
  31. }