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;
|
}
|
}
|
}
|