From 247c64258e0102a1028199f14866a1fd1c1a205f Mon Sep 17 00:00:00 2001 From: lcy <1459594991@qq.com> Date: 星期一, 20 十月 2025 11:44:38 +0800 Subject: [PATCH] 143 子 【挑战】演武场 / 【挑战】演武场-客户端 --- Main/System/ChallengeTab/ChallengeTabWin.cs | 52 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 43 insertions(+), 9 deletions(-) diff --git a/Main/System/ChallengeTab/ChallengeTabWin.cs b/Main/System/ChallengeTab/ChallengeTabWin.cs index 6f455e4..60f67da 100644 --- a/Main/System/ChallengeTab/ChallengeTabWin.cs +++ b/Main/System/ChallengeTab/ChallengeTabWin.cs @@ -4,6 +4,7 @@ public class ChallengeTabWin : UIBase { [SerializeField] ChallengeTabButton btnBoneField; + [SerializeField] ChallengeTabButton btnArena; public static Action OnCloseChallengeTabWin; protected override void InitComponent() { @@ -16,10 +17,19 @@ AdsManager.Instance.OnAdsInfoListUpdateEvent += OnAdsInfoListUpdateEvent; TimeMgr.Instance.OnDayEvent += OnDayEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; - + PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; Display(); } - + protected override void OnPreClose() + { + base.OnPreClose(); + DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChangeEvent; + AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent; + TimeMgr.Instance.OnDayEvent -= OnDayEvent; + FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; + PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; + OnCloseChallengeTabWin?.Invoke(); + } private void OnDayEvent() { Display(); @@ -38,26 +48,50 @@ } } + public void OnFuncStateChangeEvent(int funcId) { if (funcId == BoneFieldManager.Instance.funcId) { DisplayBoneFieldButton(); } + else if (funcId == ArenaManager.Instance.funcId) + { + DisplayArenaButton(); + } } - protected override void OnPreClose() + private void PlayerDataRefresh(PlayerDataType type) { - base.OnPreClose(); - DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChangeEvent; - AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent; - TimeMgr.Instance.OnDayEvent -= OnDayEvent; - FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; - OnCloseChallengeTabWin?.Invoke(); + if (type == PlayerDataType.ChallengeVoucher) + { + DisplayArenaButton(); + } } + public void Display() { DisplayBoneFieldButton(); + DisplayArenaButton(); + } + + public void DisplayArenaButton() + { + int index = 1; + int funcId = ArenaManager.Instance.funcId; + int redpointId = MainRedDot.ArenaRepoint; + bool isLock = FuncOpen.Instance.IsFuncOpen(funcId); + int type = ArenaManager.Instance.ChallengeMoneyType; + long nowCount = UIHelper.GetMoneyCnt(type); + string countInfo = UIHelper.AppendColor(nowCount > 0 ? TextColType.Green : TextColType.Red, Language.Get("Challenge03", nowCount)); + string lockInfo = !isLock ? Language.Get("Challenge02") : string.Empty; + btnArena.Display(index, redpointId, isLock, countInfo, lockInfo, () => + { + UIManager.Instance.CloseWindow<ChallengeTabWin>(); + if (!FuncOpen.Instance.IsFuncOpen(funcId, true)) + return; + UIManager.Instance.OpenWindow<ArenaWin>(); + }); } public void DisplayBoneFieldButton() -- Gitblit v1.8.0