From 61b784c4ba16fc56ef1e83cd12701af2ac9ee723 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 15 十二月 2025 15:46:03 +0800
Subject: [PATCH] 0312 每次战斗后3秒内验证是否提醒点击战锤;官职提升按钮只在能提升时才提醒

---
 Main/System/Battle/BattleManager.cs             |    6 ++-
 Main/System/OfficialRank/OfficialUpWin.cs       |   16 ++++++++
 Main/System/Battle/BattleWin.cs                 |   62 +++++++++++++++++++++++++-----
 Main/System/InternalAffairs/GoldRushTentCell.cs |    2 
 4 files changed, 72 insertions(+), 14 deletions(-)

diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 04ff29f..cb7df74 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -31,10 +31,11 @@
     public Dictionary<int, int> passDict = new Dictionary<int, int>(); 
     public Dictionary<int, int> foreverPrivilegePassDict = new Dictionary<int, int>();
 
-    public int fightGuideID;
+    public int fightBossGuideID;
     public int fightGuideMainLevelLimit;
     public int fightGuideNoClickSeconds;
     public int[] challengeBossGuides;
+    public int fightBGuideID;
 
     public Action<string, BattleField> onBattleFieldCreate;
 
@@ -59,10 +60,11 @@
         speedGear = JsonMapper.ToObject<float[]>(config.Numerical4);
 
         config = FuncConfigConfig.Get("FightGuide");
-        fightGuideID = int.Parse(config.Numerical1);
+        fightBossGuideID = int.Parse(config.Numerical1);
         fightGuideMainLevelLimit = int.Parse(config.Numerical2);
         fightGuideNoClickSeconds = int.Parse(config.Numerical3);
         challengeBossGuides = JsonMapper.ToObject<int[]>(config.Numerical4);
+        fightBGuideID = int.Parse(config.Numerical5);
 
         config = FuncConfigConfig.Get("BattleButton");
         defaultPassRound = int.Parse(config.Numerical1);
diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index 4535bff..d38bfbb 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -14,8 +14,11 @@
 
     private BattleField battleField;
 
-    float lastClickTime;
+    float lastClickTime;    //鐐瑰嚮BOSS鎸戞垬
     bool needGuide = false;
+
+    float lastAnyClickTime; // 浠讳綍鐐瑰嚮
+
     // 鐢熷懡鍛ㄦ湡
     protected override void InitComponent()
     {
@@ -49,6 +52,7 @@
     protected override void OnPreOpen()
     {
         lastClickTime = Time.realtimeSinceStartup;
+        lastAnyClickTime = Time.realtimeSinceStartup;
         UIManager.Instance.OnCloseWindow += OnCloseWindow;
         PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
         needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
@@ -165,18 +169,10 @@
         if (!needGuide)
             return;
 
-        // if (Input.GetMouseButtonDown(0))
-        // {
-        //     lastClickTime = Time.realtimeSinceStartup;
-        // }
-
+        UpdateAnyClickTime();
 
         if (Time.realtimeSinceStartup - lastClickTime > BattleManager.Instance.fightGuideNoClickSeconds)
         {
-            // if (AutoFightModel.Instance.isAutoAttack)
-            // {
-            //     return;
-            // }
 
             if (NewBieCenter.Instance.inGuiding)
             {
@@ -193,10 +189,54 @@
                 return;
             }
 
-            NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightGuideID);
+            NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightBossGuideID);
             needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
             BattleManager.Instance.storyBattleField.IsPause = false;
             lastClickTime = Time.realtimeSinceStartup;
         }
     }
+
+    void UpdateAnyClickTime()
+    {
+        if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AutoFight))
+        {
+            return;
+        }
+
+
+        if (Time.realtimeSinceStartup - lastAnyClickTime > 3)
+        {
+            lastAnyClickTime = Time.realtimeSinceStartup;
+            if (NewBieCenter.Instance.currentGuide != 0)
+            {
+                // 鏂版墜寮曞涓笉鍏佽鐐瑰嚮
+                return;
+            }
+
+            if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(""))
+            {
+                return;
+            }
+
+            if (TaskManager.Instance.GetMainTaskState() == 2)
+            {
+                return;
+            }
+
+            if (BattleManager.Instance.storyBattleField != null &&
+            BattleManager.Instance.storyBattleField.recordPlayer.IsPlaying())
+            {
+                return;
+            }
+        
+
+            NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightBGuideID);
+            BattleManager.Instance.storyBattleField.IsPause = false;
+            lastAnyClickTime = Time.realtimeSinceStartup;
+        }
+
+    }
+
+
+
 }
diff --git a/Main/System/InternalAffairs/GoldRushTentCell.cs b/Main/System/InternalAffairs/GoldRushTentCell.cs
index 139b8d7..a4e98d4 100644
--- a/Main/System/InternalAffairs/GoldRushTentCell.cs
+++ b/Main/System/InternalAffairs/GoldRushTentCell.cs
@@ -616,7 +616,7 @@
             return;
         }
 
-        if (!UIHelper.CheckMoneyCount(52, 1, 1))
+        if (!UIHelper.CheckMoneyCount(52, 1, 2))
         {
             return;
         }
diff --git a/Main/System/OfficialRank/OfficialUpWin.cs b/Main/System/OfficialRank/OfficialUpWin.cs
index 6af5d5f..ceda2ac 100644
--- a/Main/System/OfficialRank/OfficialUpWin.cs
+++ b/Main/System/OfficialRank/OfficialUpWin.cs
@@ -23,6 +23,7 @@
     [SerializeField] ButtonEx lvUpBtn;
     [SerializeField] UIEffectPlayer effectPlayer;
     [SerializeField] UIEffectPlayer upEffect;
+    [SerializeField] Image redLVUPImg;
 
     protected override void InitComponent()
     {
@@ -74,6 +75,20 @@
         RefreshBtn();
     }
 
+
+    bool IsRealLvUp()
+    {
+        var ids = RealmLVUPTaskConfig.GetMissionIDs(PlayerDatas.Instance.baseData.realmLevel);
+        foreach (var id in ids)
+        {
+            if (OfficialRankManager.Instance.GetMissionAwardState(id) != 1)
+            {
+                return false;
+            }
+        }
+
+        return true;
+    }
 
     void OnLvUp()
     {
@@ -133,6 +148,7 @@
         //     }
         // }
         // lvUpBtn.SetColorful(null, true);
+        redLVUPImg.SetActive(IsRealLvUp());
     }
 
 

--
Gitblit v1.8.0