using System.Collections.Generic;
|
using UnityEngine;
|
|
public class HeroFatesFastPutPreviewWin : UIBase
|
{
|
[SerializeField] ScrollerController scroller;
|
[SerializeField] ButtonEx btnClose;
|
[SerializeField] ButtonEx btnOk;
|
HeroFatesManager manager { get { return HeroFatesManager.Instance; } }
|
protected override void InitComponent()
|
{
|
btnClose.SetListener(CloseWindow);
|
btnOk.SetListener(() =>
|
{
|
manager.FastAddList(putPreviewHeroList);
|
CloseWindow();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
scroller.OnRefreshCell += OnRefreshCell;
|
manager.OnUpdateHeroFatesInfoEvent += OnUpdateHeroFatesInfo;
|
CreateScoller();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
manager.OnUpdateHeroFatesInfoEvent -= OnUpdateHeroFatesInfo;
|
}
|
|
private void OnUpdateHeroFatesInfo()
|
{
|
RefeshScoller();
|
}
|
|
List<HeroInfo> putPreviewHeroList = new List<HeroInfo>();
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetComponent<HeroFatesFastPutPreviewCell>();
|
_cell?.Display(cell.index, putPreviewHeroList);
|
}
|
|
void CreateScoller()
|
{
|
scroller.Refresh();
|
putPreviewHeroList = manager.GetPutPreviewHeroList(manager.chooseHeroFatesId);
|
if (!putPreviewHeroList.IsNullOrEmpty())
|
{
|
int rowCount = Mathf.CeilToInt((float)putPreviewHeroList.Count / manager.rowCountMax);
|
for (int i = 0; i < rowCount; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
scroller.Restart();
|
}
|
|
void RefeshScoller()
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
}
|