From ffd98ca236a8e6d8d8bd68c46ca56519e6f758ae Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 23 一月 2026 18:06:49 +0800
Subject: [PATCH] 432 自动挂机优化-客户端 自动替换高战力装备

---
 Main/System/Main/AutoFightModel.cs |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index a2d0d14..203ec8a 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -80,6 +80,57 @@
         }
     }
 
+    public bool isAutoChangeBetterEquip
+    {
+        get
+        {
+            return QuickSetting.Instance.GetQuickSettingBool(QuickSettingType.AutoFight_AutoChangeBetterEquip, 0);
+        }
+        set
+        {
+            QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_AutoChangeBetterEquip, value);
+        }
+    }
+    public int startServerTime;  // 寮�濮嬫椂鐨勬湇鍔″櫒鏃堕棿鎴�
+    bool m_HasAutoExchanged = false;
+    public bool hasAutoExchanged    // 鏄惁宸茶嚜鍔ㄤ氦鎹㈣繃
+    {
+        get
+        {
+            return m_HasAutoExchanged;
+        }
+        set
+        {
+            if (m_HasAutoExchanged == value)
+                return;
+            m_HasAutoExchanged = value;
+            if (!value)
+            {
+                startServerTime = TimeUtility.AllSeconds;
+            }
+        }
+    }
+    
+    bool m_IsAutoExchangeDecomposeOld = false;
+    public bool isAutoExchangeDecomposeOld    //鏄惁鏇挎崲鍚庤嚜鍔ㄥ垎瑙e師瑁呭
+    {
+        get
+        {
+            return m_IsAutoExchangeDecomposeOld;
+        }
+        set
+        {
+            if (m_IsAutoExchangeDecomposeOld == value)
+                return;
+            m_IsAutoExchangeDecomposeOld = value;
+            if (value)
+            {
+                hasAutoExchanged = false;
+            }
+        }
+    }
+
+
     public event Action<bool> OnAutoChallengeBossEvent;
     //鑷姩鎸戞垬棣栭
     public bool isAutoChallengeBoss
@@ -143,6 +194,9 @@
     }
     public event Action ChangeAutoEvent;
 
+
+
+
     public int maxSpeed = 3; //鏈�楂橀�熷害 绱㈠紩
     public int maxCost; //鏈�楂樻秷鑰�
     public int[] autoCostWithBlessLV; //鑷姩鎴樻枟娑堣�楀�嶆暟鍏宠仈绁濈绛夌骇
@@ -153,6 +207,7 @@
     public int maxTryChallengeCD;   //鎵撲富绾縝oss鎴樿触鍚庯紝闂撮殧x绉掑悗閲嶈瘯
     public int openAutoFinishCond;//鑷姩瀹屾垚浠诲姟闇�绁濈鏍慩绾�
     public int autoCloseWinCD;
+    public int autoChangeBetterEquipWaitTimeS;//瑁呭瀵规瘮鐣岄潰鎵撳紑x绉掑悗锛屼负鐜╁鏇挎崲楂樻垬鍔涜澶�
 
     public override void Init()
     {
@@ -172,7 +227,7 @@
     {
         BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerInit;
-        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin;
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeEventOnRelogin;
         EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
         BlessLVManager.Instance.OnBlessLVUpdateEvent -= UpdateRedpint;
         TaskManager.Instance.OnTaskUpdate -= OnTaskUpdate;
@@ -188,6 +243,7 @@
         speed2UnlockMissionID = int.Parse(config.Numerical2);
         maxCost = autoCostWithBlessLV.Length;
         autoCloseWinCD = int.Parse(config.Numerical3);
+        autoChangeBetterEquipWaitTimeS = int.Parse(config.Numerical5);
         config = FuncConfigConfig.Get("AutoGuaji1");
         openAutoChallengeBossCond = int.Parse(config.Numerical1);
         maxTryChallengeCount = int.Parse(config.Numerical2);
@@ -200,11 +256,14 @@
     {
         fightingHeroSkinID = 0;
         heroGuid = "";
+        startServerTime = 0;
+        hasAutoExchanged = false;
     }
 
     private void OnBeforePlayerDataInitializeEventOnRelogin()
     {
         nowChallengeCount = 0;
+        isAutoExchangeDecomposeOld = true;
     }
 
     Dictionary<string, int> winWaitCloseDict = new Dictionary<string, int>();

--
Gitblit v1.8.0