From af0d59c2da7eb91de99d568ed17cbf2aa441f5b3 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 15 一月 2026 23:24:15 +0800
Subject: [PATCH] 429 【主界面】自动挂机-补充自动挑战自动任务

---
 Main/System/Battle/BattleField/OperationAgent/AutoModeOperationAgent.cs |   70 ++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 25 deletions(-)

diff --git a/Main/System/Battle/BattleField/OperationAgent/AutoModeOperationAgent.cs b/Main/System/Battle/BattleField/OperationAgent/AutoModeOperationAgent.cs
index d72f5d3..80913fc 100644
--- a/Main/System/Battle/BattleField/OperationAgent/AutoModeOperationAgent.cs
+++ b/Main/System/Battle/BattleField/OperationAgent/AutoModeOperationAgent.cs
@@ -10,40 +10,19 @@
 	}
 
 	float lastTime;
-	float lastSendTime;
 	public override void Run()
 	{
-		//鏈�浣�1绉�
-		if (Time.time - lastTime < 0.2f)
+		if (Time.time - lastTime < 0.3f)
 			return;
 		lastTime = Time.time;
+
 		if (AutoFightModel.Instance.isPause)
 			return;
 
+
 		// 鑷姩鎸戞垬boss
-		if (AutoFightModel.Instance.isAutoChallengeBoss)
+		if (AutoChallengeBoss())
 		{
-			if (!MainLevelManager.Instance.CanChallengeBoss())
-			{
-				DoNext();
-				return;
-			}
-			//涓婃鎸戞垬boss澶辫触浜嗭紝鍐嶆灏濊瘯瑕佺瓑CD
-			if (AutoFightModel.Instance.nowChallengeCount > 0 &&
-				Time.time - AutoFightModel.Instance.lastChallengeTime < AutoFightModel.Instance.maxTryChallengeCD)
-			{
-				DoNext();
-				return;
-			}
-			//宸茬粡寮�濮媌oss鎴樻枟
-			BattleField battleField = BattleManager.Instance.GetActiveBattleFieldByName(BattleConst.StoryBossBattleField);
-			if (battleField != null)
-				return;
-			if (Time.time - lastSendTime < 1.0f)
-				return;
-			lastSendTime = Time.time;
-			Debug.Log($"寮�濮嬫寫鎴榖oss ServerNow{TimeUtility.ServerNow}");
-			FightBoss();
 			return;
 		}
 		DoNext();
@@ -60,4 +39,45 @@
 		BattleManager.Instance.storyBattleField.CleanBattle();
 		AutoFightModel.Instance.isPause = true;
 	}
+
+	bool AutoChallengeBoss()
+	{
+		// 鑷姩鎸戞垬boss
+		if (AutoFightModel.Instance.isAutoChallengeBoss)
+		{
+			if (AutoFightModel.Instance.nowChallengeCount == -1)
+			{
+				return false;
+			}
+			if (!MainLevelManager.Instance.CanChallengeBoss())
+			{
+				return false;
+			}
+			//涓婃鎸戞垬boss澶辫触浜嗭紝鍐嶆灏濊瘯瑕佺瓑CD
+			if (Time.time - AutoFightModel.Instance.lastChallengeTime < AutoFightModel.Instance.maxTryChallengeCD)
+			{
+				return false;
+			}
+
+			if (!UIManager.Instance.IsOpened<HomeWin>())
+			{
+				return false;
+			}
+
+			if (NewBieCenter.Instance.inGuiding)
+			{
+				return false;
+			}
+
+			if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(""))
+			{
+				return false;
+			}
+			FightBoss();
+			return true;
+		}
+		return false;
+	}
+
+	
 }
\ No newline at end of file

--
Gitblit v1.8.0