From 0bafb22817eadd51d0cf54d34e320e833a0fcd97 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 20 十月 2025 18:44:06 +0800
Subject: [PATCH] 136 战锤秘境 更换战场界面

---
 Main/System/Battle/BattleField/BoneBattleField.cs |    4 
 Main/System/Battle/BoneFieldBattleWin.cs.meta     |   11 +++
 Main/System/Battle/BoneFieldBattleWin.cs          |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 178 insertions(+), 2 deletions(-)

diff --git a/Main/System/Battle/BattleField/BoneBattleField.cs b/Main/System/Battle/BattleField/BoneBattleField.cs
index 1fa382e..51d655f 100644
--- a/Main/System/Battle/BattleField/BoneBattleField.cs
+++ b/Main/System/Battle/BattleField/BoneBattleField.cs
@@ -122,10 +122,10 @@
 
     public override void ShowWindow(HB424_tagSCTurnFightInit vNetData)
     {
-        StoryBossBattleWin fsBattleWin = UIManager.Instance.GetUI<StoryBossBattleWin>();// as FullScreenBattleWin;
+        BoneFieldBattleWin fsBattleWin = UIManager.Instance.GetUI<BoneFieldBattleWin>();// as FullScreenBattleWin;
         if (null == fsBattleWin)
         {
-            fsBattleWin = UIManager.Instance.OpenWindow<StoryBossBattleWin>();
+            fsBattleWin = UIManager.Instance.OpenWindow<BoneFieldBattleWin>();
         }
         fsBattleWin.SetBattleField(this);
         UIManager.Instance.CloseWindow<BoneFieldWin>();
diff --git a/Main/System/Battle/BoneFieldBattleWin.cs b/Main/System/Battle/BoneFieldBattleWin.cs
new file mode 100644
index 0000000..c42370f
--- /dev/null
+++ b/Main/System/Battle/BoneFieldBattleWin.cs
@@ -0,0 +1,165 @@
+锘縰sing System;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class BoneFieldBattleWin : UIBase
+{
+
+    // 缁勪欢寮曠敤
+    public Transform mountPoint;
+
+    private BattleRootNode battleRootNode = null;
+
+
+    private BattleField battleField;
+
+    [SerializeField]
+    private Button btnSpeed;
+
+    [SerializeField]
+    private Text textSpeed;
+
+    [SerializeField]
+    private Button btnPass;
+
+    [SerializeField]
+    private Button btnPause;
+
+    public RendererAdjuster buttonsAdjuster;
+
+    public BossLifeBar bossLifeBar;
+
+
+    public SkillWordCell[] skillWordCells;
+
+    public BossHeadCell bossHeadCell;
+
+    public Text txtBossName;
+
+    public Text txtBattleRound;
+
+    public TotalDamageDisplayer totalDamageDisplayer;
+
+    // 鐢熷懡鍛ㄦ湡
+    protected override void InitComponent()
+    {
+        base.InitComponent();
+        // 鍒濆鍖栫粍浠跺紩鐢� 缁戝畾鎸夐挳绛塙I缁勪欢浜嬩欢
+
+        btnSpeed.AddListener(ChangeSpeed);
+
+        btnPass.AddListener(OnClickPass);
+
+        btnPause.AddListener(OnClickPause);
+    }
+
+    private void OnClickPause()
+    {
+        if (null == battleField)
+            return;
+
+        battleField.IsPause = !battleField.IsPause;
+    }
+
+    private void OnClickPass()
+    {
+        if (null == battleField)
+            return;
+
+        battleField.ForceFinish();
+    }
+
+    private void ChangeSpeed()
+    {
+        if (null == battleField)
+            return;
+
+        BattleManager.Instance.speedIndex = (BattleManager.Instance.speedIndex + 1) % BattleManager.Instance.speedGear.Length;
+        battleField.SetSpeedRatio(BattleManager.Instance.speedGear[BattleManager.Instance.speedIndex]);
+        textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString();
+    }
+
+    protected override void OnPreOpen()
+    {
+        base.OnPreOpen();
+        // SetBattleField(BattleManager.Instance.storyBattleField);
+        BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
+
+        UIManager.Instance.CloseWindow<MainWin>();
+    }
+
+    protected override void OnPreClose()
+    {
+        base.OnPreClose();
+        UIManager.Instance.CloseWindow<BattleHUDWin>();
+        BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
+
+        if (!UIManager.Instance.IsOpened<MainWin>())
+            UIManager.Instance.OpenWindow<MainWin>();
+    }
+
+    private void OnCreateBattleField(string arg1, BattleField field)
+    {
+        if (field.GetType() == battleField.GetType())
+        {
+            SetBattleField(field);
+        }
+    }
+
+    protected override void OnOpen()
+    {
+        base.OnOpen();
+    }
+
+    protected override void OnClose()
+    {
+        base.OnClose();
+
+        if (battleRootNode != null)
+        {
+            battleRootNode.transform.SetParent(Launch.Instance.transform);
+            battleRootNode.transform.localPosition = new Vector3(-10000, -10000, 0);
+        }
+
+        battleField = null;
+    }
+
+    protected override void NextFrameAfterOpen()
+    {
+        base.NextFrameAfterOpen();
+    }
+
+    protected override void CompleteClose()
+    {
+        base.CompleteClose();
+    }
+
+    public void SetBattleField(BattleField _battleField)
+    {
+        battleField = _battleField;
+        if (battleRootNode != null)
+        {
+            battleRootNode.transform.localPosition = Vector3.zero;
+            battleRootNode.transform.SetParent(Launch.Instance.transform);
+        }
+
+        battleRootNode = battleField.battleRootNode;
+
+        battleRootNode.transform.SetParent(mountPoint);
+        battleRootNode.transform.localPosition = Vector3.zero;
+        battleRootNode.transform.localScale = Vector3.one;
+
+        BattleHUDWin ui = UIManager.Instance.GetUI<BattleHUDWin>();
+
+        if (null == ui)
+        {
+            ui = UIManager.Instance.OpenWindow<BattleHUDWin>();
+        }
+
+        ui.SetBattleField(battleField);
+        battleField.UpdateCanvas(canvas);
+        buttonsAdjuster.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder);
+
+        textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString();
+    }
+}
diff --git a/Main/System/Battle/BoneFieldBattleWin.cs.meta b/Main/System/Battle/BoneFieldBattleWin.cs.meta
new file mode 100644
index 0000000..f3c6dc5
--- /dev/null
+++ b/Main/System/Battle/BoneFieldBattleWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 43ae43116c1068c45afac7ddf0fe8fe3
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.8.0