Files
plugin-library/Assets/06.UIFarme/RunTime/UIFramework/UIScrollView/UILoopItem.cs
2025-09-23 11:18:38 +08:00

59 lines
1.5 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Stary.Evo
{
public class UILoopItem : UISubView
{
protected int m_Index;
protected RectTransform m_RectTransform;
public int Index => m_Index;
public UIScrollView UIScrollView { get; set; }
public override void OnInit()
{
base.OnInit();
m_RectTransform = transform as RectTransform;
}
public void UpdateData(IList dataList, int index, object userData)
{
if (!isInit)
{
OnInit();
}
m_Index = index;
m_RectTransform.localPosition = Vector3.zero;
m_RectTransform.anchoredPosition = UIScrollView.GetLocalPositionByIndex(index);
CheckSelect(UIScrollView.SelectIndex);
OnUpdateData(dataList, index, userData);
}
/// <summary>
/// 选中切换时
/// </summary>
public virtual void CheckSelect(int index)
{
}
/// <summary>
/// Item的宽高
/// </summary>
public virtual Vector2 GetRect()
{
return new Vector2(m_RectTransform.rect.width * m_RectTransform.localScale.x, m_RectTransform.rect.height * m_RectTransform.localScale.y);
}
/// <summary>
/// 刷新数据时
/// </summary>
protected virtual void OnUpdateData(IList dataList, int index, object userData)
{
}
}
}