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