2025-03-12 20:59:12 +08:00
|
|
|
using UnityEngine.Events;
|
|
|
|
|
|
2025-11-20 15:40:38 +08:00
|
|
|
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
|
|
|
}
|