From 7e3f0aad03c3be0341ec396dd66ef98b31f14e39 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 23 一月 2026 11:03:43 +0800
Subject: [PATCH] 432 自动挂机优化-客户端

---
 Main/System/Main/AutoFightModel.cs |  136 +++++++++++++++++++++++----------------------
 1 files changed, 70 insertions(+), 66 deletions(-)

diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index 183d973..a2d0d14 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -80,6 +80,7 @@
         }
     }
 
+    public event Action<bool> OnAutoChallengeBossEvent;
     //鑷姩鎸戞垬棣栭
     public bool isAutoChallengeBoss
     {
@@ -90,6 +91,7 @@
         set
         {
             QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_ChallengeBoss, value);
+            OnAutoChallengeBossEvent?.Invoke(value);
         }
     }
 
@@ -107,9 +109,11 @@
             if (m_NowChallengeCount >= tryChallengeCount)
             {
                 m_NowChallengeCount = -1;   //浠h〃鍋滄缁х画鎸戞垬BOSS, 浣嗕笉鏄仠姝㈡垬鏂�
+                isAutoChallengeBoss = false; //鍙栨秷鍕鹃�夎嚜鍔ㄦ寫鎴榖oss
             }
         }
     }
+
 
     //鑷姩鎸戞垬棣栭锛屾垬璐娆″仠姝�
     public int tryChallengeCount
@@ -208,81 +212,81 @@
     {
         ProccessCloseWin();
     }
-	void ProccessCloseWin()
+    void ProccessCloseWin()
     {
         if (!isAutoAttack)
             return;
-		if (isAutoChallengeBoss)
-		{
-			if (UIManager.Instance.IsOpened<BattleVictoryWin>())
-			{
-				if (!winWaitCloseDict.ContainsKey("BattleVictoryWin"))
-				{
-					winWaitCloseDict["BattleVictoryWin"] = 0;
-				}
+        if (isAutoChallengeBoss)
+        {
+            if (UIManager.Instance.IsOpened<BattleVictoryWin>())
+            {
+                if (!winWaitCloseDict.ContainsKey("BattleVictoryWin"))
+                {
+                    winWaitCloseDict["BattleVictoryWin"] = 0;
+                }
 
-				if (winWaitCloseDict["BattleVictoryWin"] == 0)
-				{
-					winWaitCloseDict["BattleVictoryWin"] = (int)Time.time;
-				}
-				else if (Time.time - winWaitCloseDict["BattleVictoryWin"] > AutoFightModel.Instance.autoCloseWinCD)
-				{
-					UIManager.Instance.CloseWindow<BattleVictoryWin>();
-					winWaitCloseDict["BattleVictoryWin"] = 0;
-				}
-			}
+                if (winWaitCloseDict["BattleVictoryWin"] == 0)
+                {
+                    winWaitCloseDict["BattleVictoryWin"] = (int)Time.time;
+                }
+                else if (Time.time - winWaitCloseDict["BattleVictoryWin"] > AutoFightModel.Instance.autoCloseWinCD)
+                {
+                    UIManager.Instance.CloseWindow<BattleVictoryWin>();
+                    winWaitCloseDict["BattleVictoryWin"] = 0;
+                }
+            }
 
-			if (UIManager.Instance.IsOpened<BattleFailWin>())
-			{
-				if (!winWaitCloseDict.ContainsKey("BattleFailWin"))
-				{
-					winWaitCloseDict["BattleFailWin"] = 0;
-				}
+            if (UIManager.Instance.IsOpened<BattleFailWin>())
+            {
+                if (!winWaitCloseDict.ContainsKey("BattleFailWin"))
+                {
+                    winWaitCloseDict["BattleFailWin"] = 0;
+                }
 
-				if (winWaitCloseDict["BattleFailWin"] == 0)
-				{
-					winWaitCloseDict["BattleFailWin"] = (int)Time.time;
-				}
-				else if (Time.time - winWaitCloseDict["BattleFailWin"] > autoCloseWinCD)
-				{
-					UIManager.Instance.CloseWindow<BattleFailWin>();
-					winWaitCloseDict["BattleFailWin"] = 0;
-				}
-			}
-		}
-		
-		if (isAutoFinishTask)
-		{
-			if (TaskManager.Instance.GetMainTaskState() == 2 && UIManager.Instance.IsOpened<HomeWin>()
+                if (winWaitCloseDict["BattleFailWin"] == 0)
+                {
+                    winWaitCloseDict["BattleFailWin"] = (int)Time.time;
+                }
+                else if (Time.time - winWaitCloseDict["BattleFailWin"] > autoCloseWinCD)
+                {
+                    UIManager.Instance.CloseWindow<BattleFailWin>();
+                    winWaitCloseDict["BattleFailWin"] = 0;
+                }
+            }
+        }
+
+        if (isAutoFinishTask)
+        {
+            if (TaskManager.Instance.GetMainTaskState() == 2 && UIManager.Instance.IsOpened<HomeWin>()
             && !UIManager.Instance.ExistAnyFullScreenOrMaskWin("") && !NewBieCenter.Instance.inGuiding)
-			{
-				//棰嗗彇浠诲姟濂栧姳
-				CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
-				getReward.RewardType = 66;
-				getReward.DataEx = (uint)TaskManager.Instance.mainTask.TaskID;
-				GameNetSystem.Instance.SendInfo(getReward);
-				return;
-			}
+            {
+                //棰嗗彇浠诲姟濂栧姳
+                CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
+                getReward.RewardType = 66;
+                getReward.DataEx = (uint)TaskManager.Instance.mainTask.TaskID;
+                GameNetSystem.Instance.SendInfo(getReward);
+                return;
+            }
 
-			if (UIManager.Instance.IsOpened<CommonGetItemWin>() && ItemLogicUtility.Instance.getItemEventName == "Task")
-			{
-				if (!winWaitCloseDict.ContainsKey("CommonGetItemWin"))
-				{
-					winWaitCloseDict["CommonGetItemWin"] = 0;
-				}
+            if (UIManager.Instance.IsOpened<CommonGetItemWin>() && ItemLogicUtility.Instance.getItemEventName == "Task")
+            {
+                if (!winWaitCloseDict.ContainsKey("CommonGetItemWin"))
+                {
+                    winWaitCloseDict["CommonGetItemWin"] = 0;
+                }
 
-				if (winWaitCloseDict["CommonGetItemWin"] == 0)
-				{
-					winWaitCloseDict["CommonGetItemWin"] = (int)Time.time;
-				}
-				else if (Time.time - winWaitCloseDict["CommonGetItemWin"] > autoCloseWinCD)
-				{
-					UIManager.Instance.CloseWindow<CommonGetItemWin>();
-					winWaitCloseDict["CommonGetItemWin"] = 0;
-				}
-			}
-		}
-	}
+                if (winWaitCloseDict["CommonGetItemWin"] == 0)
+                {
+                    winWaitCloseDict["CommonGetItemWin"] = (int)Time.time;
+                }
+                else if (Time.time - winWaitCloseDict["CommonGetItemWin"] > autoCloseWinCD)
+                {
+                    UIManager.Instance.CloseWindow<CommonGetItemWin>();
+                    winWaitCloseDict["CommonGetItemWin"] = 0;
+                }
+            }
+        }
+    }
 
 
     public void SaveAutoFightSetting()

--
Gitblit v1.8.0