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