From 6ae4b14b7fb6640ec805f070a1f0f691941c6917 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 13 二月 2026 19:26:53 +0800
Subject: [PATCH] 0312 公会砍价上限写死50人
---
Main/System/ChallengeTab/ChallengeTabWin.cs | 76 +++++++++----------------------------
1 files changed, 19 insertions(+), 57 deletions(-)
diff --git a/Main/System/ChallengeTab/ChallengeTabWin.cs b/Main/System/ChallengeTab/ChallengeTabWin.cs
index 6f455e4..67db7d6 100644
--- a/Main/System/ChallengeTab/ChallengeTabWin.cs
+++ b/Main/System/ChallengeTab/ChallengeTabWin.cs
@@ -3,80 +3,42 @@
public class ChallengeTabWin : UIBase
{
- [SerializeField] ChallengeTabButton btnBoneField;
- public static Action OnCloseChallengeTabWin;
+ private BaseChallengeTabHandler[] tabHandlers;
+
protected override void InitComponent()
{
base.InitComponent();
+ // 鑷姩鏌ユ壘鎵�鏈夊瓙瀵硅薄涓婄殑 Handler 缁勪欢
+ tabHandlers = GetComponentsInChildren<BaseChallengeTabHandler>(true);
}
+
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)
+ foreach (var handler in tabHandlers)
{
- DisplayBoneFieldButton();
+ handler.SubscribeEvents();
}
-
- }
- public void OnFuncStateChangeEvent(int funcId)
- {
- if (funcId == BoneFieldManager.Instance.funcId)
- {
- DisplayBoneFieldButton();
- }
+ Display();
}
protected override void OnPreClose()
{
base.OnPreClose();
- DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChangeEvent;
- AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent;
- TimeMgr.Instance.OnDayEvent -= OnDayEvent;
- FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
- OnCloseChallengeTabWin?.Invoke();
+ foreach (var handler in tabHandlers)
+ {
+ handler.UnsubscribeEvents();
+ }
+ UIManager.Instance.GetUI<MainWin>()?.RestoreFuncBtn();
}
+
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))
+ if (tabHandlers == null)
return;
- string countInfo = UIHelper.AppendColor(showrealRemainSweepCount > 0 ? TextColType.Green : TextColType.Red, Language.Get("Challenge01", showrealRemainSweepCount));
- string lockInfo = !isLock ? Language.Get("Challenge02") : string.Empty;
- btnBoneField.Display(index, redpointId, isLock, countInfo, lockInfo, () =>
+ foreach (var handler in tabHandlers)
{
- UIManager.Instance.CloseWindow<ChallengeTabWin>();
- if (!FuncOpen.Instance.IsFuncOpen(funcId, true))
- return;
- UIManager.Instance.OpenWindow<BoneFieldWin>();
- });
+ handler.Refresh();
+ }
}
-
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0