using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using Cysharp.Threading.Tasks.Triggers;
|
using UnityEngine;
|
|
public class ChallengeTabWin : UIBase
|
{
|
[SerializeField] ClickScreenOtherSpace clickScreenOtherSpace;
|
[SerializeField] ChallengeTabButton btnBoneField;
|
public static Action OnCloseChallengeTabWin;
|
protected override void InitComponent()
|
{
|
base.InitComponent();
|
clickScreenOtherSpace.RemoveAllListeners();
|
clickScreenOtherSpace.AddListener(() =>
|
{
|
UIManager.Instance.CloseWindow<ChallengeTabWin>();
|
});
|
|
}
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
DungeonManager.Instance.UpdateFBInfoChangeEvent += OnUpdateFBInfoChangeEvent;
|
AdsManager.Instance.OnAdsInfoListUpdateEvent += OnAdsInfoListUpdateEvent;
|
TimeMgr.Instance.OnDayEvent += OnDayEvent;
|
FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
|
|
Display();
|
}
|
|
private void OnDayEvent()
|
{
|
Display();
|
}
|
|
private void OnAdsInfoListUpdateEvent(int id, int mapId)
|
{
|
Display();
|
}
|
|
private void OnUpdateFBInfoChangeEvent(int arg1, bool arg2, bool arg3, bool arg4)
|
{
|
if (arg1 == BoneFieldManager.Instance.DataMapID)
|
{
|
DisplayBoneFieldButton();
|
}
|
|
}
|
public void OnFuncStateChangeEvent(int funcId)
|
{
|
if (funcId == BoneFieldManager.Instance.funcId)
|
{
|
DisplayBoneFieldButton();
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
base.OnPreClose();
|
DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChangeEvent;
|
AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent;
|
TimeMgr.Instance.OnDayEvent -= OnDayEvent;
|
FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
|
OnCloseChallengeTabWin?.Invoke();
|
}
|
public void Display()
|
{
|
DisplayBoneFieldButton();
|
}
|
|
|
public void DisplayBoneFieldButton()
|
{
|
int index = 2;
|
int funcId = BoneFieldManager.Instance.funcId;
|
int redpointId = MainRedDot.BoneFieldRepoint;
|
bool isLock = FuncOpen.Instance.IsFuncOpen(funcId);
|
if (!BoneFieldManager.Instance.TryGetShowSweepCount(out int showSweepMaxCount, out int showrealRemainSweepCount))
|
return;
|
string countInfo = UIHelper.AppendColor(showrealRemainSweepCount > 0 ? TextColType.Green : TextColType.Red, Language.Get("Challenge01", showrealRemainSweepCount));
|
string lockInfo = !isLock ? FuncOpen.Instance.GetErrorTip(funcId) : string.Empty;
|
btnBoneField.Display(index, redpointId, isLock, countInfo, lockInfo, () =>
|
{
|
if (!FuncOpen.Instance.IsFuncOpen(funcId, true))
|
return;
|
UIManager.Instance.OpenWindow<BoneFieldWin>();
|
});
|
}
|
|
}
|