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