using System.Collections.Generic;
|
using System.Linq;
|
using UnityEngine;
|
|
public class SimpleAttributeWin : UIBase
|
{
|
[SerializeField] Transform noAttr;
|
[SerializeField] TextEx title;
|
[SerializeField] ScrollerController scroller;
|
Dictionary<int, long> simpleAttrDict;
|
List<int> simpleAttrSortList;
|
string simpleAttrTitleName;
|
protected override void OnPreOpen()
|
{
|
simpleAttrDict = AttributeManager.Instance.simpleAttrDict;
|
simpleAttrSortList = AttributeManager.Instance.simpleAttrSortList;
|
simpleAttrTitleName = AttributeManager.Instance.simpleAttrTitleName;
|
|
scroller.OnRefreshCell += OnRefreshCell;
|
title.text = simpleAttrTitleName;
|
CreateScroller();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetComponent<SimpleAttributeAttrCell>();
|
_cell?.Display(cell.index, simpleAttrSortList, simpleAttrDict);
|
}
|
|
private void CreateScroller()
|
{
|
scroller.Refresh();
|
noAttr.SetActive(simpleAttrSortList.IsNullOrEmpty());
|
if (simpleAttrSortList != null)
|
{
|
int rowCount = (int)Mathf.Ceil((float)simpleAttrSortList.Count / AttributeManager.Instance.SimpleAttributeMaxRowCnt);
|
for (int i = 0; i < rowCount; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
scroller.Restart();
|
}
|
}
|