From 89343a7a0909e5244a3b69c4db1294de4536243b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 15 十二月 2025 18:15:22 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则

---
 Main/System/Battle/BaseBattleWin.cs |   45 +++++++++++++++++++++++++++++++--------------
 1 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/Main/System/Battle/BaseBattleWin.cs b/Main/System/Battle/BaseBattleWin.cs
index 604ec76..c8e3f4a 100644
--- a/Main/System/Battle/BaseBattleWin.cs
+++ b/Main/System/Battle/BaseBattleWin.cs
@@ -37,6 +37,7 @@
     protected override void OnPreOpen()
     {
         base.OnPreOpen();
+        UIManager.Instance.CloseWindow<MapLoadingWin>();
         BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
         RegisterBattleEvents();
 
@@ -63,6 +64,8 @@
         // 鍦ㄥ叧闂椂鎭㈠涓荤嚎鎴樻枟
         if (BattleManager.Instance.storyBattleField != null)
             BattleManager.Instance.storyBattleField.IsPause = false;
+
+        // battleField?.SetFocus(false);
 
         if (battleField != null)
         {
@@ -191,14 +194,15 @@
     {
         if (null == battleField)
             return;
-        if (!FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true))
+        // 妫�鏌ユ槸鍚︿负姘镐箙鐗规潈鍗$帺瀹�
+        bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType);
+
+        if (!hasForeverPrivilege && !FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true))
             return;
 
         int passRound = BattleManager.Instance.defaultPassRound;
         var name = battleField.ToString();
-        
-        // 妫�鏌ユ槸鍚︿负姘镐箙鐗规潈鍗$帺瀹�
-        bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType);
+
 
         if (hasForeverPrivilege)
         {
@@ -237,11 +241,15 @@
             // 濡傛灉鎴樺満绫诲瀷涓嶅湪 FieldNameToIndex 涓紝浣跨敤榛樿閰嶇疆
         }
 
-        int nowRound = battleField.round;
-        if (nowRound < passRound)
+        if (passRound != 0)
         {
-            SysNotifyMgr.Instance.ShowTip("BattlePass", passRound - nowRound);
-            return;
+            int nowRound = battleField.round;   
+            int realPassRound = passRound + 1;  // 閰嶇疆鏄秴杩噚鍥炲悎鍙互璺�,鎰忓懗鐫�x+1鍥炲悎鍙互璺�
+            if (nowRound < realPassRound)
+            {
+                SysNotifyMgr.Instance.ShowTip("BattlePass", realPassRound - nowRound);
+                return;
+            }
         }
         battleField.ForceFinish();
     }
@@ -256,15 +264,24 @@
     {
         if (null == battleField)
             return;
+
         // 璁$畻涓嬩竴涓�熷害妗d綅鐨勭储寮�
         int nextSpeedIndex = (BattleManager.Instance.speedIndex + 1) % BattleManager.Instance.speedGear.Length;
-        // 妫�鏌ヤ笅涓�妗e�嶉�熷姛鑳芥槸鍚﹀紑鍚�
-        int nextSpeedFuncId = BattleManager.Instance.speedIndexfuncIdArr[nextSpeedIndex];
-        bool isOpen = FuncOpen.Instance.IsFuncOpen(nextSpeedFuncId);
-        if (!isOpen && FuncOpenLVConfig.HasKey(nextSpeedFuncId))
+        bool isOpen = false;
+        if (InvestModel.Instance.IsActiveFightSpeed(3))
         {
-            var config = FuncOpenLVConfig.Get(nextSpeedFuncId);
-            SysNotifyMgr.Instance.ShowTip("BattleSpeedTip", TaskManager.Instance.GetNeedFinishTaskCount(config.LimitMissionID), nextSpeedIndex + 1);
+            isOpen = true;
+        }
+        else
+        {
+            // 妫�鏌ヤ笅涓�妗e�嶉�熷姛鑳芥槸鍚﹀紑鍚�
+            int nextSpeedFuncId = BattleManager.Instance.speedIndexfuncIdArr[nextSpeedIndex];
+            isOpen = FuncOpen.Instance.IsFuncOpen(nextSpeedFuncId);
+            if (!isOpen && FuncOpenLVConfig.HasKey(nextSpeedFuncId))
+            {
+                var config = FuncOpenLVConfig.Get(nextSpeedFuncId);
+                SysNotifyMgr.Instance.ShowTip("BattleSpeedTip", TaskManager.Instance.GetNeedFinishTaskCount(config.LimitMissionID), nextSpeedIndex + 1);
+            }
         }
         BattleManager.Instance.speedIndex = !isOpen ? 0 : nextSpeedIndex;
         battleField.SetSpeedRatio(BattleManager.Instance.speedGear[BattleManager.Instance.speedIndex]);

--
Gitblit v1.8.0