|  |  | 
 |  |  | { | 
 |  |  |     [SerializeField] ChallengeTabButton btnBoneField; | 
 |  |  |     [SerializeField] ChallengeTabButton btnArena; | 
 |  |  |     public static Action OnCloseChallengeTabWin; | 
 |  |  |      | 
 |  |  |     protected override void InitComponent() | 
 |  |  |     { | 
 |  |  |         base.InitComponent(); | 
 |  |  | 
 |  |  |         TimeMgr.Instance.OnDayEvent -= OnDayEvent; | 
 |  |  |         FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; | 
 |  |  |         PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; | 
 |  |  |         OnCloseChallengeTabWin?.Invoke(); | 
 |  |  |         UIManager.Instance.GetUI<MainWin>()?.RestoreFuncBtn(); | 
 |  |  |     } | 
 |  |  |     private void OnDayEvent() | 
 |  |  |     { | 
 |  |  | 
 |  |  |             BattleField arenaBattle = BattleManager.Instance.GetBattleFieldByMapID(3); | 
 |  |  |             if (arenaBattle != null) | 
 |  |  |             { | 
 |  |  |                 ArenaBattleWin fsBattleWin = UIManager.Instance.GetUI<ArenaBattleWin>(); | 
 |  |  |                 if (null == fsBattleWin) | 
 |  |  |                 ArenaBattleWin battleWin; | 
 |  |  |                 if (!UIManager.Instance.IsOpened<ArenaBattleWin>()) | 
 |  |  |                 { | 
 |  |  |                     fsBattleWin = UIManager.Instance.OpenWindow<ArenaBattleWin>(); | 
 |  |  |                     battleWin = UIManager.Instance.OpenWindow<ArenaBattleWin>(); | 
 |  |  |                 } | 
 |  |  |                 fsBattleWin.SetBattleField(arenaBattle); | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     battleWin = UIManager.Instance.GetUI<ArenaBattleWin>(); | 
 |  |  |                 } | 
 |  |  |                 battleWin.SetBattleField(arenaBattle); | 
 |  |  |             } | 
 |  |  |             else | 
 |  |  |             { |