From 09bc892c7283df8757a07b646d5af21ddaa263d1 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 06 十一月 2025 18:22:34 +0800
Subject: [PATCH] 164 天子的考验-客户端
---
Main/System/Battle/ArenaBattleWin.cs | 171 ++++++++++++++++++---------------------------------------
1 files changed, 54 insertions(+), 117 deletions(-)
diff --git a/Main/System/Battle/ArenaBattleWin.cs b/Main/System/Battle/ArenaBattleWin.cs
index 1806bca..eafff77 100644
--- a/Main/System/Battle/ArenaBattleWin.cs
+++ b/Main/System/Battle/ArenaBattleWin.cs
@@ -1,20 +1,10 @@
锘縰sing System.Collections.Generic;
using LitJson;
using UnityEngine;
-using UnityEngine.UI;
-public class ArenaBattleWin : UIBase
+public class ArenaBattleWin : BaseBattleWin
{
- // 缁勪欢寮曠敤
- [SerializeField] Transform mountPoint;
- [SerializeField] Button btnSpeed;
- [SerializeField] Text textSpeed;
- [SerializeField] Button btnPass;
- [SerializeField] Button btnPause;
- [SerializeField] RendererAdjuster buttonsAdjuster;
- private BattleRootNode battleRootNode = null;
- public BattleField battleField;
-
+ [SerializeField] Transform transButtons;
[SerializeField] HeroCountryComponent myCountry;
[SerializeField] TextEx txtMyLV;
[SerializeField] TextEx txtMyName;
@@ -33,60 +23,19 @@
[SerializeField] AvatarCell enemyAvatarCell;
[SerializeField] List<ArenaHeroHead> enemyHeroHeads;
- [SerializeField] TextEx txtWaveInfo;
- // 鐢熷懡鍛ㄦ湡
- protected override void InitComponent()
+ protected override void RegisterBattleEvents()
{
- 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;
- EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
+ base.RegisterBattleEvents();
EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
- //UIManager.Instance.CloseWindow<MainWin>();
}
- protected override void OnPreClose()
+ protected override void UnregisterBattleEvents()
{
- base.OnPreClose();
- UIManager.Instance.CloseWindow<BattleHUDWin>();
- BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
- EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
+ base.UnregisterBattleEvents();
EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
- //UIManager.Instance.OpenWindow<MainWin>(0);
}
- private void OnBattleEnd(string guid, JsonData endData)
+
+ protected virtual void OnBattleEnd(string guid, JsonData endData)
{
if (battleField != null && guid == battleField.guid)
{
@@ -94,8 +43,45 @@
}
}
- private void OnDamageTaken(BattleDmgInfo damageInfo)
+ protected override void OnPreOpen()
{
+ base.OnPreOpen();
+ MainWin.TabChangeEvent += OnTabChangeEvent;
+ bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
+ transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0);
+ if (isOpenBattleChangeTab)
+ {
+ UIManager.Instance.GetUI<MainWin>()?.CloseSubUI();
+ }
+ else
+ {
+ UIManager.Instance.CloseWindow<MainWin>();
+ }
+ }
+
+ protected override void OnPreClose()
+ {
+ base.OnPreClose();
+ MainWin.TabChangeEvent -= OnTabChangeEvent;
+ bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
+ if (isOpenBattleChangeTab)
+ {
+ UIManager.Instance.GetUI<MainWin>()?.RestoreSubUI();
+ }
+ else
+ {
+ UIManager.Instance.OpenWindow<MainWin>();
+ }
+ }
+
+ private void OnTabChangeEvent()
+ {
+ UIManager.Instance.CloseWindow<ArenaBattleWin>();
+ }
+
+ protected override void OnDamageTaken(BattleDmgInfo damageInfo)
+ {
+ base.OnDamageTaken(damageInfo);
if (battleField == null)
return;
if (damageInfo.battleFieldGuid == battleField.guid)
@@ -104,67 +90,20 @@
}
}
- private void OnCreateBattleField(string arg1, BattleField field)
+ protected override void OnCreateBattleField(string guid, BattleField field)
{
- if (field.GetType() == battleField.GetType())
+ if (field is ArenaBattleField)
{
SetBattleField(field);
}
}
- protected override void OnOpen()
+ protected override void RefreshSpecific()
{
- 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();
DisplayHpInfo();
DisplayPlayerInfo();
- UpdateRoundDisplay();
}
+
private void DisplayHpInfo()
{
if (battleField == null)
@@ -284,11 +223,9 @@
return teamHeroes;
}
- public void UpdateRoundDisplay()
+
+ bool IsOpenBattleChangeTab()
{
- if (battleField == null)
- return;
- txtWaveInfo.text = Language.Get("BoneField09", battleField.round, battleField.turnMax);
- Debug.LogFormat("褰撳墠娉㈡暟锛歿0} 鏈�澶ц疆鏁帮細{1}", battleField.round, battleField.turnMax);
+ return FuncOpen.Instance.IsFuncOpen(ArenaManager.Instance.BattleChangeTabFuncId);
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0