yyl
9 天以前 b0ce53afc8346e1391807618e64bdb225e83fd64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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();
        }
    }
}