using System;
|
using System.Collections.Generic;
|
|
public class WarlordPavilionTabHandler : BaseChallengeTabHandler
|
{
|
protected override int GetIndex() => 4;
|
protected override int GetOpenState() => 0; // 0=FuncID
|
protected override int GetFuncId() => (int)FuncOpenEnum.WarlordPavilion;
|
protected override int GetRedpointId() => MainRedDot.WarlordPavilionRepoint;
|
|
protected override string GetCountInfo()
|
{
|
WarlordPavilionManager.Instance.TryGetShowLayerNumAndLevelNum(out int layerNum, out int levelNum);
|
return UIHelper.AppendColor(TextColType.Green, Language.Get("WarlordPavilion29", Language.Get("Arena15", layerNum, levelNum)));
|
}
|
|
protected override Action GetOnClickAction()
|
{
|
return HandleBoneFieldNavigation;
|
}
|
|
private void HandleBoneFieldNavigation()
|
{
|
if (!FuncOpen.Instance.IsFuncOpen(GetFuncId(), true))
|
return;
|
UIManager.Instance.CloseWindow<ChallengeTabWin>();
|
|
BattleField battleField = BattleManager.Instance.GetBattleFieldByMapID(WarlordPavilionManager.Instance.DataMapID);
|
if (battleField != null)
|
{
|
WarlordPavilionBattleWin battleWin;
|
if (!UIManager.Instance.IsOpened<WarlordPavilionBattleWin>())
|
{
|
battleWin = UIManager.Instance.OpenWindow<WarlordPavilionBattleWin>();
|
}
|
else
|
{
|
battleWin = UIManager.Instance.GetUI<WarlordPavilionBattleWin>();
|
}
|
battleWin.SetBattleField(battleField as WarlordPavilionBattleField);
|
}
|
else
|
{
|
UIManager.Instance.OpenWindow<TowerBaseWin>();
|
}
|
}
|
|
protected override void SubscribeToSpecificEvents()
|
{
|
WarlordPavilionManager.Instance.OnUpdateDingjungeInfoEvent += OnUpdateDingjungeInfoEvent;
|
}
|
|
protected override void UnsubscribeFromSpecificEvents()
|
{
|
WarlordPavilionManager.Instance.OnUpdateDingjungeInfoEvent -= OnUpdateDingjungeInfoEvent;
|
}
|
|
private void OnUpdateDingjungeInfoEvent(List<int> indexs)
|
{
|
Refresh();
|
}
|
|
}
|