2025-03-12 20:59:12 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
2025-11-20 15:40:38 +08:00
|
|
|
namespace AlicizaX.UI
|
2025-03-12 20:59:12 +08:00
|
|
|
{
|
|
|
|
|
public interface ILayoutManager
|
|
|
|
|
{
|
|
|
|
|
void UpdateLayout();
|
|
|
|
|
|
|
|
|
|
void Layout(ViewHolder viewHolder, int index);
|
|
|
|
|
|
|
|
|
|
void SetContentSize();
|
|
|
|
|
|
|
|
|
|
Vector2 CalculateContentSize();
|
|
|
|
|
|
|
|
|
|
Vector2 CalculatePosition(int index);
|
|
|
|
|
|
|
|
|
|
Vector2 CalculateContentOffset();
|
|
|
|
|
|
|
|
|
|
Vector2 CalculateViewportOffset();
|
|
|
|
|
|
|
|
|
|
int GetStartIndex();
|
|
|
|
|
|
|
|
|
|
int GetEndIndex();
|
|
|
|
|
|
|
|
|
|
float IndexToPosition(int index);
|
|
|
|
|
|
|
|
|
|
int PositionToIndex(float position);
|
|
|
|
|
|
|
|
|
|
void DoItemAnimation();
|
|
|
|
|
|
|
|
|
|
bool IsFullVisibleStart(int index);
|
|
|
|
|
|
|
|
|
|
bool IsFullInvisibleStart(int index);
|
|
|
|
|
|
|
|
|
|
bool IsFullVisibleEnd(int index);
|
|
|
|
|
|
|
|
|
|
bool IsFullInvisibleEnd(int index);
|
|
|
|
|
|
|
|
|
|
bool IsVisible(int index);
|
|
|
|
|
}
|
|
|
|
|
}
|