From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version

---
 Main/System/MainLevel/MainBossEnterWin.cs |   50 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/Main/System/MainLevel/MainBossEnterWin.cs b/Main/System/MainLevel/MainBossEnterWin.cs
index 5f7ff91..a124715 100644
--- a/Main/System/MainLevel/MainBossEnterWin.cs
+++ b/Main/System/MainLevel/MainBossEnterWin.cs
@@ -6,6 +6,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -22,7 +23,10 @@
     [SerializeField] Button rankBtn;
     [SerializeField] ItemCell[] passAwards;
     [SerializeField] Button fightBtn;
+    [SerializeField] Image fightIcon;
     [SerializeField] ScrollerController dropItemScroller;
+    [SerializeField] Button heroRoadBtn;
+    [SerializeField] Button funPresetBtn;
 
 
     protected override void InitComponent()
@@ -30,14 +34,22 @@
         CloseBtn.AddListener(CloseWindow);
         rankBtn.AddListener(() =>
         {
-            RankModel.Instance.ResetQueryParam();
-            RankModel.Instance.QueryRankByPage(0, watchID: (int)PlayerDatas.Instance.baseData.PlayerID);
-            var win = UIManager.Instance.OpenWindow<PlayerRankWin>();
-            win.rankType = 0;
+
+            UIManager.Instance.OpenWindowAsync<PlayerRankWin>(0).Forget();
 
         });
 
         fightBtn.AddListener(FightBoss);
+
+        heroRoadBtn.AddListener(() =>
+        {
+            UIManager.Instance.OpenWindowAsync<DayMissionBaseWin>(2).Forget();
+        });
+
+        funPresetBtn.AddListener(()=>
+        {
+            FuncPresetManager.Instance.ClickBattlePreset((int)BattlePreSetType.Story);
+        });
     }
 
     protected override void OnPreOpen()
@@ -92,8 +104,8 @@
                     SmallTipWin.showText = Language.Get("SmallTipFomat",SkillConfig.Get(skillID)?.SkillName, SkillConfig.Get(skillID)?.Description) ;
                     SmallTipWin.worldPos = CameraManager.uiCamera.ScreenToWorldPoint(Input.mousePosition);
                     SmallTipWin.isDownShow = true;
-                    UIManager.Instance.OpenWindow<SmallTipWin>();
-                });
+                    UIManager.Instance.OpenWindowAsync<SmallTipWin>().Forget();
+                }).Forget();
             }
             else
             {
@@ -101,15 +113,14 @@
             }
         }
 
-        bossModel.Create(npcConfig.SkinID, npcConfig.ModelScale);
+        bossModel.Create(npcConfig.SkinID, npcConfig.ModelScale).Forget();
 
         fightPowerText.text = UIHelper.ReplaceLargeArtNum(levelConfig.FightPower);
 
-        var canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss();
+        var canChallengeBoss = MainLevelManager.Instance.CanChallengeBoss();
 
-        fightBtn.interactable = canChallengeBoss;
-        fightBtn.SetColorful(null, canChallengeBoss);
-
+        fightBtn.SetInteractable(canChallengeBoss);
+        fightIcon.SetActive(canChallengeBoss);
 
         for (int i = 0; i < passAwards.Length; i++)
         {
@@ -129,14 +140,21 @@
             }
         }
         bossBG.SetOrgSprite(chapterConfig.BG, "MainLevel");
+
+        heroRoadBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DayMission));
+
+        funPresetBtn.SetActive(FuncPresetManager.Instance.IsPreShow());
     }
 
 
     void FightBoss()
     {
-        if (AutoFightModel.Instance.CanChallengeBoss())
+        if (MainLevelManager.Instance.CanChallengeBoss())
         {
-            BattleManager.Instance.MainFightRequest(3);
+            BattleManager.Instance.SendTurnFight(2);
+            BattleManager.Instance.storyBattleField.CleanBattle();
+            AutoFightModel.Instance.isPause = true;
+            // AutoFightModel.Instance.isAutoAttack = false;
         }
         CloseWindow();
     }
@@ -148,10 +166,10 @@
         {
             case PlayerDataType.ExAttr1:
             case PlayerDataType.ExAttr2:
-                var canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss();
+                var canChallengeBoss = MainLevelManager.Instance.CanChallengeBoss();
 
-                fightBtn.interactable = canChallengeBoss;
-                fightBtn.SetColorful(null, canChallengeBoss);
+                fightBtn.SetInteractable(canChallengeBoss);
+                fightIcon.SetActive(canChallengeBoss);
                 break;
         }
 

--
Gitblit v1.8.0