lcy
11 小时以前 c70f5a26bebf874828342ef69987848cbc352719
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
using UnityEngine;
using UnityEngine.UI;
 
public abstract class OSActivityBaseWin : FunctionsBaseWin
{
    [SerializeField] protected Button closBtn;
 
    protected override void InitComponent()
    {
        base.InitComponent();
        if (closBtn != null)
        {
            closBtn.AddListener(CloseWindow);
        }
    }
 
    // 由子类实现:当前活动的 RankType 
    protected abstract int GetRankType();
    
    // 由子类实现:实例化对应的三个子窗口
    protected abstract UIBase GetRankWin();
    protected abstract UIBase GetAwardWin();
    protected abstract UIBase GetGiftWin();
 
    protected override void OpenSubUIByTabIndex()
    {
        switch (functionOrder)
        {
            case 0:
                RankModel.Instance.ResetQueryParam();
                RankModel.Instance.QueryRankByPage(GetRankType(), watchID: (int)PlayerDatas.Instance.baseData.PlayerID);
                currentSubUI = GetRankWin();
                break;
            case 1:
                currentSubUI = GetAwardWin();
                break;
            case 2:
                // 如果后续有活动没有礼包页签,只需在子类里返回 null 或不调用即可
                currentSubUI = GetGiftWin();
                break;
        }
    }
}