using System;
|
using UnityEngine;
|
|
public class ChallengeTabWin : UIBase
|
{
|
private BaseChallengeTabHandler[] tabHandlers;
|
|
protected override void InitComponent()
|
{
|
base.InitComponent();
|
// 自动查找所有子对象上的 Handler 组件
|
tabHandlers = GetComponentsInChildren<BaseChallengeTabHandler>(true);
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
foreach (var handler in tabHandlers)
|
{
|
handler.SubscribeEvents();
|
}
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
base.OnPreClose();
|
foreach (var handler in tabHandlers)
|
{
|
handler.UnsubscribeEvents();
|
}
|
UIManager.Instance.GetUI<MainWin>()?.RestoreFuncBtn();
|
}
|
|
public void Display()
|
{
|
if (tabHandlers == null)
|
return;
|
foreach (var handler in tabHandlers)
|
{
|
handler.Refresh();
|
}
|
}
|
}
|