From 985549822a05d02bcb2ad252c0713455cf9953dc Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 15 十二月 2025 12:37:48 +0800
Subject: [PATCH] 0312 防范成就报错;优化挑战BOSS引导;修复觉醒功能未开启显示红点

---
 Main/Utility/EnumHelper.cs                    |    1 +
 Main/System/Battle/BattleWin.cs               |    2 +-
 Main/System/Login/LoginWin.cs                 |    9 ++++++---
 Main/System/Achievement/AchievementManager.cs |    4 ++++
 Main/System/NewBieGuidance/NewBieCenter.cs    |    5 ++++-
 Main/System/HeroUI/HeroTrainWin.cs            |    2 +-
 Main/System/HeroUI/HeroUIManager.cs           |   15 +++++++++------
 7 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/Main/System/Achievement/AchievementManager.cs b/Main/System/Achievement/AchievementManager.cs
index 655bbc5..0c0f006 100644
--- a/Main/System/Achievement/AchievementManager.cs
+++ b/Main/System/Achievement/AchievementManager.cs
@@ -199,6 +199,10 @@
             }
             //鏍规嵁ID鍒ゆ柇鏄惁鏈夊彲棰嗗彇鐨�
             var allAchivement = SuccessConfig.GetTypeToIDDict(type);
+            if (allAchivement.IsNullOrEmpty())
+            {
+                continue;
+            }
             var process = GetAchievementProgress(type);
             foreach (var id in allAchivement)
             {
diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index 38a269b..4535bff 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -108,7 +108,7 @@
 
             case PlayerDataType.ExAttr1:
             case PlayerDataType.ExAttr2:
-                if (!lastIsBoss)
+                if (!lastIsBoss && MainLevelManager.Instance.CanChallengeBoss())
                 {
                     //鍙寫鎴樼殑鏃跺�欎篃瑕佺瓑CD
                     lastClickTime = Time.realtimeSinceStartup;
diff --git a/Main/System/HeroUI/HeroTrainWin.cs b/Main/System/HeroUI/HeroTrainWin.cs
index 35e69aa..fc14d23 100644
--- a/Main/System/HeroUI/HeroTrainWin.cs
+++ b/Main/System/HeroUI/HeroTrainWin.cs
@@ -873,7 +873,7 @@
 
 
         //5鏄熷悗鎵嶈兘瑙夐啋
-        if (hero.heroStar >= HeroUIManager.Instance.starLevelCanAwake)
+        if (hero.heroStar >= HeroUIManager.Instance.starLevelCanAwake && FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HeroAwake))
         {
             //鍒ゆ柇瑙夐啋鏉愭枡鏄惁瓒冲
             var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
diff --git a/Main/System/HeroUI/HeroUIManager.cs b/Main/System/HeroUI/HeroUIManager.cs
index 91ad53b..cf4b669 100644
--- a/Main/System/HeroUI/HeroUIManager.cs
+++ b/Main/System/HeroUI/HeroUIManager.cs
@@ -507,14 +507,17 @@
         }
         else
         {
-            //鍒ゆ柇瑙夐啋鏉愭枡鏄惁瓒冲
-            var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
-            if (hero.awakeLevel < maxAwakeLV)
+            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HeroAwake))
             {
-                var config = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel);
-                if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
+                //鍒ゆ柇瑙夐啋鏉愭枡鏄惁瓒冲
+                var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
+                if (hero.awakeLevel < maxAwakeLV)
                 {
-                    return 1;
+                    var config = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel);
+                    if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
+                    {
+                        return 1;
+                    }
                 }
             }
         }
diff --git a/Main/System/Login/LoginWin.cs b/Main/System/Login/LoginWin.cs
index efe6ca9..01f69f5 100644
--- a/Main/System/Login/LoginWin.cs
+++ b/Main/System/Login/LoginWin.cs
@@ -68,9 +68,14 @@
             GameAgeWarnWin.data = 2;
             UIManager.Instance.OpenWindow<GameAgeWarnWin>();
         });
-        ageWarn.SetListener(() => {
+        ageWarn.SetListener(() =>
+        {
             GameAgeWarnWin.data = 3;
             UIManager.Instance.OpenWindow<GameAgeWarnWin>();
+        });
+        checkRead.onValueChanged.AddListener((bool value) =>
+        {
+            LocalSave.SetBool("secretToggleStart5", value);
         });
     }
 
@@ -239,11 +244,9 @@
         if (!checkRead.isOn)
         {
             ConfirmCancel.ShowPopConfirm(Language.Get("agreementTitle"), Language.Get("agreementInfo"));
-            LocalSave.SetBool("secretToggleStart5", false); //鏂逛究娴嬭瘯
             return;
         }
 
-        LocalSave.SetBool("secretToggleStart5", true);
 
         SDKUtils.Instance.SendHideFloatWin();
 
diff --git a/Main/System/NewBieGuidance/NewBieCenter.cs b/Main/System/NewBieGuidance/NewBieCenter.cs
index c2da66b..3a4ead7 100644
--- a/Main/System/NewBieGuidance/NewBieCenter.cs
+++ b/Main/System/NewBieGuidance/NewBieCenter.cs
@@ -384,7 +384,10 @@
             guideCompletedEvent(guideRecord);
         }
 
-        BattleManager.Instance.storyBattleField.IsPause = false;
+        if (BattleManager.Instance.storyBattleField != null)
+        {
+            BattleManager.Instance.storyBattleField.IsPause = false;
+        }
     }
 
     public void RemoveNewBieGuide(int _id)
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index 268b065..d325a98 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -836,6 +836,7 @@
     Recharge = 22,//鍏呭��
     PrivilegeCard = 25, //鐗规潈鍗�
     Horse = 37,  //鍧愰獞
+    HeroAwake = 38, //姝﹀皢瑙夐啋
     BattlePass = 40, //鍩洪噾锛堟垬浠わ級
     LLMJ = 41,  //鍘嗙粌绉樼瑘
     OSMainLevl = 45, //寮�鏈嶅叧鍗℃娲诲姩

--
Gitblit v1.8.0