From 4d6ffb3f8acce7b230076ed7124b3e3c4aebe4d1 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 23 十月 2025 15:53:27 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Battle/BattleField/BoneBattleField.cs |   85 ++++++++++++++++++++++--------------------
 1 files changed, 44 insertions(+), 41 deletions(-)

diff --git a/Main/System/Battle/BattleField/BoneBattleField.cs b/Main/System/Battle/BattleField/BoneBattleField.cs
index 51d655f..c0146ed 100644
--- a/Main/System/Battle/BattleField/BoneBattleField.cs
+++ b/Main/System/Battle/BattleField/BoneBattleField.cs
@@ -1,24 +1,14 @@
-using System;
 using LitJson;
-using UnityEngine;
 using System.Collections.Generic;
-
+using System.Linq;
 
 public class BoneBattleField : BattleField
 {
-    protected int chapter;//   绔犺妭
-    protected int wave;//  娉㈡暟
-    protected int level;// 鍏冲崱
     protected JsonData extendData;
-
-    protected MainChapterConfig chapterConfig;
-
     protected MainLevelConfig levelConfig;
-
-
     public BoneBattleField(string _guid) : base(_guid)
     {
-        
+
     }
 
     public override void Init(int MapID, int FuncLineID, JsonData _extendData,
@@ -26,22 +16,12 @@
     {
         base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList, turnMax);
 
-        chapter = FuncLineID / 10000;
-        wave = MapID == 1 ? FuncLineID % 100 : 1;//绗嚑娉㈡��
-        level = (FuncLineID % 10000) / 100;
-
+        int level = FuncLineID;// 鍏冲崱
         extendData = _extendData;
-        chapterConfig = MainChapterConfig.Get(chapter);
         levelConfig = MainLevelConfig.Get(level);
 
         SetBattleMode(BattleMode.Record);
     }
-
-    public override void Release()
-    {
-        base.Release();
-    }
-
 
     public override void AutoSetBattleMode()
     {
@@ -81,25 +61,15 @@
 
     public override void WhaleFall()
     {
-        UIManager.Instance.CloseWindow<StoryBossBattleWin>();
         AutoFightModel.Instance.isPause = false;
         Destroy();
-        UIManager.Instance.OpenWindow<BoneFieldWin>();
+
+        if (UIManager.Instance.IsOpened<BoneFieldBattleWin>())
+        {
+            UIManager.Instance.CloseWindow<BoneFieldBattleWin>();
+            UIManager.Instance.OpenWindow<BoneFieldWin>();
+        }
     }
-
-    
-
-    public override void HaveRest()
-    {
-        //  涓荤嚎BOSS鎴樻枟娌℃湁浼戞伅
-    }
-
-
-    // public override void OnBattleEnd(JsonData turnFightStateData)
-    // {
-    //     base.OnBattleEnd(turnFightStateData);
-    //     // HaveRest();
-    // }
 
     public override void Run()
     {
@@ -115,7 +85,7 @@
     {
         if (IsBattleFinish)
             return;
-            
+
         //  涓嶈璋冪敤base鐨勫嚱鏁�
         BattleManager.Instance.DistributeNextReportPackage(guid);
     }
@@ -128,6 +98,39 @@
             fsBattleWin = UIManager.Instance.OpenWindow<BoneFieldBattleWin>();
         }
         fsBattleWin.SetBattleField(this);
-        UIManager.Instance.CloseWindow<BoneFieldWin>();
+
+        if (UIManager.Instance.IsOpened<BoneFieldWin>())
+        {
+            UIManager.Instance.CloseWindow<BoneFieldWin>();
+        }
+    }
+
+    public NPCLineupConfig GetBossLineupConfig()
+    {
+        if (!DungeonConfig.TryGetDungeonID(MapID, FuncLineID, out int dungeonID))
+            return null;
+        if (!DungeonConfig.HasKey(dungeonID))
+            return null;
+        int[] lineupIDList = DungeonConfig.Get(dungeonID).LineupIDList;
+        if (lineupIDList.IsNullOrEmpty())
+            return null;
+        int lineupID = lineupIDList[0];
+        if (!NPCLineupConfig.HasKey(lineupID))
+            return null;
+        NPCLineupConfig nPCLineupConfig = NPCLineupConfig.Get(lineupID);
+
+        return nPCLineupConfig;
+    }
+
+    public override BattleObject FindBoss()
+    {
+        var config = GetBossLineupConfig();
+        if (config != null)
+        {
+            int bossId = config.BossID;
+            BattleObject bo = battleObjMgr.allBattleObjDict.Values.FirstOrDefault(bo => bo.teamHero.NPCID == bossId);
+            return bo;
+        }
+        return null;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0