using UnityEngine;
|
|
public class GuildAtkDefBatAwardPreviewTailCell : CellView
|
{
|
[SerializeField] TextEx awardTypeText;
|
[SerializeField] TextEx awardCountText;
|
[SerializeField] ScrollerController scroller;
|
|
public void SetData(int quality, int maxCount, int libType)
|
{
|
awardTypeText.text = Language.Get($"GuildAtkDefBatAwardType{quality}");
|
awardCountText.text = Language.Get($"GuildAtkDefBat15", maxCount);
|
|
scroller.OnRefreshCell -= OnInnerRefreshCell;
|
scroller.OnRefreshCompleteEvent -= OnInnerRefreshComplete;
|
scroller.OnRefreshCell += OnInnerRefreshCell;
|
scroller.OnRefreshCompleteEvent += OnInnerRefreshComplete;
|
scroller.Refresh();
|
|
var items = FamilyAtkDefBatTreasureConfig.GetItemsByQualityAndLibType(quality, libType);
|
if (items == null || items.Count == 0)
|
{
|
scroller.Restart();
|
return;
|
}
|
|
for (int i = 0; i < items.Count; i++)
|
{
|
CellInfo info = new CellInfo(items[i].ItemID, items[i].ItemCount, null);
|
scroller.AddCell(ScrollerDataType.Header, i, info);
|
}
|
scroller.Restart();
|
}
|
|
void OnInnerRefreshComplete()
|
{
|
scroller.OnRefreshCell -= OnInnerRefreshCell;
|
scroller.OnRefreshCompleteEvent -= OnInnerRefreshComplete;
|
}
|
|
void OnInnerRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
GuildAtkDefBatAwardPreviewCell previewCell = cell as GuildAtkDefBatAwardPreviewCell;
|
if (previewCell != null && cell.info.HasValue)
|
{
|
int itemId = cell.info.Value.infoInt1;
|
int count = cell.info.Value.infoInt2;
|
previewCell.SetItemData(itemId, count);
|
}
|
}
|
}
|