using System;
|
using UnityEngine;
|
|
public class TianziBillboradTabHandler : BaseChallengeTabHandler
|
{
|
protected override int GetIndex() => 3;
|
protected override int GetOpenState() => 0; // 0=FuncID
|
protected override int GetFuncId() => TianziBillboradManager.Instance.funcId;
|
protected override int GetRedpointId() => MainRedDot.TianziBillboradRepoint;
|
|
protected override string GetCountInfo()
|
{
|
int count = TianziBillboradManager.Instance.GetRemainChallageCount();
|
return UIHelper.AppendColor(count > 0 ? TextColType.Green : TextColType.Red, Language.Get("Challenge01", count));
|
}
|
|
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(TianziBillboradManager.Instance.DataMapID);
|
if (battleField != null)
|
{
|
TianziBillboradBattleWin battleWin;
|
if (!UIManager.Instance.IsOpened<TianziBillboradBattleWin>())
|
{
|
battleWin = UIManager.Instance.OpenWindow<TianziBillboradBattleWin>();
|
}
|
else
|
{
|
battleWin = UIManager.Instance.GetUI<TianziBillboradBattleWin>();
|
}
|
battleWin.SetBattleField(battleField as TianziBillboradBattleField);
|
}
|
else
|
{
|
UIManager.Instance.OpenWindow<TianziBillboradWin>();
|
}
|
}
|
|
protected override void SubscribeToSpecificEvents()
|
{
|
DungeonManager.Instance.UpdateFBInfoChangeEvent += OnUpdateFBInfoChange;
|
AdsManager.Instance.OnAdsInfoListUpdateEvent += OnAdsInfoListUpdate;
|
}
|
|
protected override void UnsubscribeFromSpecificEvents()
|
{
|
DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChange;
|
AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdate;
|
}
|
|
private void OnUpdateFBInfoChange(int mapID, bool isADAddCntChange, bool isBuyAddCntChange, bool isItemAddCntChange)
|
{
|
if (mapID == TianziBillboradManager.Instance.DataMapID)
|
{
|
Refresh();
|
}
|
}
|
|
private void OnAdsInfoListUpdate(int adID, int mapID)
|
{
|
if (mapID == TianziBillboradManager.Instance.DataMapID)
|
{
|
Refresh();
|
}
|
}
|
}
|