From 3a022e3bd389ee92e8c8ebed3a32f9d892794e67 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 10 六月 2026 19:51:34 +0800
Subject: [PATCH] 588 公会攻防战 修复退工会没清攻防战数据

---
 Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs      |   11 +++++++++++
 Main/System/GuildAtkDefBat/GuildAtkDefBatChallengeWin.cs |    6 +-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/Main/System/GuildAtkDefBat/GuildAtkDefBatChallengeWin.cs b/Main/System/GuildAtkDefBat/GuildAtkDefBatChallengeWin.cs
index 0a271c7..0668962 100644
--- a/Main/System/GuildAtkDefBat/GuildAtkDefBatChallengeWin.cs
+++ b/Main/System/GuildAtkDefBat/GuildAtkDefBatChallengeWin.cs
@@ -124,10 +124,7 @@
 
         int displayState = manager.GetGuildBattleDisplayState();
         if (displayState != 3)
-        {
-            ScrollTip.ShowTip("Guild attack-defense battle is not active");
             return;
-        }
 
         if (!manager.HasMyJoinEligibility())
         {
@@ -137,13 +134,12 @@
 
         if (manager.GetMyRemainingChallengeCount() <= 0)
         {
-            ScrollTip.ShowTip("Challenge is unavailable");
+            SysNotifyMgr.Instance.ShowTip("GuildAtkDefBat5");
             return;
         }
 
         if (manager.IsPropertyKilled(targetMem.KilledState, difficultyIndex))
         {
-            ScrollTip.ShowTip("Challenge is unavailable");
             DisplayDifficulties();
             return;
         }
diff --git a/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs b/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
index 22ed9bc..1caf7ec 100644
--- a/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
+++ b/Main/System/GuildAtkDefBat/GuildAtkDefBatManager.cs
@@ -49,6 +49,7 @@
     public override void Init()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin;
+        GuildManager.Instance.EnterOrQuitGuildEvent += OnEnterOrQuitGuildEvent;
         StoreModel.Instance.RefreshBuyShopLimitEvent += OnRefreshShopLimit;
         ParseConfig();
     }
@@ -56,6 +57,7 @@
     public override void Release()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeEventOnRelogin;
+        GuildManager.Instance.EnterOrQuitGuildEvent -= OnEnterOrQuitGuildEvent;
         StoreModel.Instance.RefreshBuyShopLimitEvent -= OnRefreshShopLimit;
     }
 
@@ -69,6 +71,15 @@
         ResetBattleData();
     }
 
+    private void OnEnterOrQuitGuildEvent(bool isEnter)
+    {
+        ResetBattleData();
+        BatState = 0;
+        CurrentChallengeTargetPlayerID = 0;
+        OnUpdateAtkDefBatInfoEvent?.Invoke();
+        UpdateRedpoint();
+    }
+
     void ParseConfig()
     {
         var configSet = FuncConfigConfig.Get("FmAtkDefBatSet");

--
Gitblit v1.8.0