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); } } }