using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
/// <summary>
|
/// 武将吞噬列表界面
|
/// </summary>
|
public class HeroGiftRoleListWin : UIBase
|
{
|
[SerializeField] ScrollerController scroller;
|
[SerializeField] GameObject emptyGo;
|
|
|
|
|
protected override void OnPreOpen()
|
{
|
HeroUIManager.Instance.CacheHeroEatList();
|
scroller.OnRefreshCell += Scroller_OnRefreshCell;
|
TeamManager.Instance.OnTeamChange += OnTeamChange;
|
PackManager.Instance.RefreshItemLockEvent += RefreshItemLockEvent;
|
HeroManager.Instance.onHeroChangeEvent += OnHeroChangeEvent;
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= Scroller_OnRefreshCell;
|
TeamManager.Instance.OnTeamChange -= OnTeamChange;
|
PackManager.Instance.RefreshItemLockEvent -= RefreshItemLockEvent;
|
HeroManager.Instance.onHeroChangeEvent -= OnHeroChangeEvent;
|
HeroUIManager.Instance.heroEatList.Clear();
|
}
|
|
|
public void Display()
|
{
|
|
if (HeroUIManager.Instance.heroEatList.Count <= 0)
|
{
|
emptyGo.SetActive(true);
|
scroller.SetActive(false);
|
return;
|
}
|
|
emptyGo.SetActive(false);
|
scroller.SetActive(true);
|
|
scroller.Refresh();
|
for (int i = 0; i < HeroUIManager.Instance.heroEatList.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
scroller.Restart();
|
}
|
|
void Scroller_OnRefreshCell(ScrollerDataType type, CellView cellView)
|
{
|
HeroGiftRoleListCell heroGiftRoleListCell = cellView as HeroGiftRoleListCell;
|
heroGiftRoleListCell.Display(cellView.index);
|
}
|
void OnTeamChange(TeamType type)
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
void RefreshItemLockEvent(PackType type, string guid, bool lockState)
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
void OnHeroChangeEvent(HeroInfo hero)
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|