com.alicizax.unity.ui.exten.../Runtime/RecyclerView/Scroller/IScroller.cs

39 lines
959 B
C#
Raw Normal View History

2025-03-12 20:59:12 +08:00
using UnityEngine.Events;
namespace AlicizaX.UI
2025-03-12 20:59:12 +08:00
{
2026-03-11 14:18:07 +08:00
/// <summary>
/// 滚动控制器接口
/// 定义滚动行为的基本契约
/// </summary>
2025-03-12 20:59:12 +08:00
public interface IScroller
{
2026-03-11 14:18:07 +08:00
/// <summary>
/// 获取或设置当前滚动位置
/// </summary>
2025-03-12 20:59:12 +08:00
float Position { get; set; }
2026-03-11 14:18:07 +08:00
/// <summary>
/// 滚动到指定位置
/// </summary>
/// <param name="position">目标位置</param>
/// <param name="smooth">是否使用平滑滚动</param>
2025-03-12 20:59:12 +08:00
void ScrollTo(float position, bool smooth = false);
}
2026-03-11 14:18:07 +08:00
/// <summary>
/// 滚动位置改变事件
/// </summary>
2025-12-26 14:22:46 +08:00
public class ScrollerEvent : UnityEvent<float> { }
2026-03-11 14:18:07 +08:00
/// <summary>
/// 滚动停止事件
/// </summary>
2025-12-26 14:22:46 +08:00
public class MoveStopEvent : UnityEvent { }
2026-03-11 14:18:07 +08:00
/// <summary>
/// 拖拽状态改变事件
/// </summary>
2025-12-26 14:22:46 +08:00
public class DraggingEvent : UnityEvent<bool> { }
2025-03-12 20:59:12 +08:00
}