| using System.Collections.Generic; | 
| using UnityEngine; | 
|   | 
| public class ArenaChallengeWin : UIBase | 
| { | 
|     [SerializeField] ArenaChallengeVoucher voucher; | 
|     [SerializeField] ButtonEx btnRefresh; | 
|     [SerializeField] TextEx txtFightPoint; | 
|     [SerializeField] ImageEx imgMoneyIcon; | 
|     [SerializeField] TextEx txtMoneyCount; | 
|     [SerializeField] ScrollerController scrollerController; | 
|   | 
|     protected override void InitComponent() | 
|     { | 
|         base.InitComponent(); | 
|         btnRefresh.SetListener(() => | 
|         { | 
|             // 货币不足 | 
|             if (!UIHelper.CheckMoneyCount(ArenaManager.Instance.currencyType, ArenaManager.Instance.currencyValue, 1)) | 
|                 return; | 
|             ArenaManager.Instance.SendArenaMatch(true); | 
|         }); | 
|   | 
|     } | 
|   | 
|     protected override void OnPreOpen() | 
|     { | 
|         base.OnPreOpen(); | 
|         // RankModel.Instance.onRankRefresh += OnRankRefresh; | 
|         scrollerController.OnRefreshCell += OnRefreshCell; | 
|         ArenaManager.Instance.OnArenaMatchListEvent += OnArenaMatchListEvent; | 
|         PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; | 
|         // ArenaManager.Instance.OnUpdateArenaPlayerInfo += OnUpdateArenaPlayerInfo; | 
|         // ArenaManager.Instance.OnUpdateGameRecInfo += OnUpdateGameRecInfo; | 
|         // Display(); | 
|         Display(); | 
|     } | 
|   | 
|     protected override void OnPreClose() | 
|     { | 
|         base.OnPreClose(); | 
|         // RankModel.Instance.onRankRefresh -= OnRankRefresh; | 
|         scrollerController.OnRefreshCell -= OnRefreshCell; | 
|         ArenaManager.Instance.OnArenaMatchListEvent -= OnArenaMatchListEvent; | 
|         PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; | 
|         // ArenaManager.Instance.OnUpdateArenaPlayerInfo -= OnUpdateArenaPlayerInfo; | 
|         // ArenaManager.Instance.OnUpdateGameRecInfo -= OnUpdateGameRecInfo; | 
|     } | 
|   | 
|     private void PlayerDataRefresh(PlayerDataType type) | 
|     { | 
|         if (type != PlayerDataType.ChallengeVoucher) | 
|             return; | 
|         Display(); | 
|     } | 
|   | 
|     private void OnArenaMatchListEvent() | 
|     { | 
|         Display(); | 
|   | 
|     } | 
|   | 
|     private void CreateScroller() | 
|     { | 
|         scrollerController.Refresh(); | 
|         List<ArenaMatchInfo> list = ArenaManager.Instance.matchInfoList; | 
|         if (!list.IsNullOrEmpty()) | 
|         { | 
|             for (int i = 0; i < list.Count; i++) | 
|             { | 
|                 scrollerController.AddCell(ScrollerDataType.Header, i); | 
|             } | 
|         } | 
|         scrollerController.Restart(); | 
|     } | 
|      | 
|     void OnRefreshCell(ScrollerDataType type, CellView cell) | 
|     { | 
|         var _cell = cell.GetComponent<ArenaChallengeCell>(); | 
|         _cell?.Display(cell.index); | 
|     } | 
|   | 
|     void Display() | 
|     { | 
|         CreateScroller(); | 
|         voucher.Display(); | 
|         txtFightPoint.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPower); | 
|         imgMoneyIcon.SetIconWithMoneyType(ArenaManager.Instance.currencyType); | 
|         txtMoneyCount.text = UIHelper.ShowUseMoney(ArenaManager.Instance.currencyType, ArenaManager.Instance.currencyValue); | 
|     } | 
| } |