From 5cb359503badbf01cb90ea9e733fa3ec5c0832f2 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 27 十月 2025 19:58:55 +0800
Subject: [PATCH] 143 演武场-客户端 ArenaBattleWin BoneFieldBattleWin StoryBossBattleWin 使用基类
---
Main/System/Battle/ArenaBattleWin.cs | 163 ++++++------------------------------------------------
1 files changed, 18 insertions(+), 145 deletions(-)
diff --git a/Main/System/Battle/ArenaBattleWin.cs b/Main/System/Battle/ArenaBattleWin.cs
index d50ae8b..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] Transform transButtons;
- [SerializeField] Button btnSpeed;
- [SerializeField] Text textSpeed;
- [SerializeField] Button btnPass;
- [SerializeField] Button btnPause;
- private BattleRootNode battleRootNode = null;
- private BattleField battleField;
-
[SerializeField] HeroCountryComponent myCountry;
[SerializeField] TextEx txtMyLV;
[SerializeField] TextEx txtMyName;
@@ -33,55 +23,30 @@
[SerializeField] AvatarCell enemyAvatarCell;
[SerializeField] List<ArenaHeroHead> enemyHeroHeads;
- [SerializeField] TextEx txtWaveInfo;
-
- public TotalDamageDisplayer totalDamageDisplayer;
-
- public SkillTips skillTipsRed;
- public SkillTips skillTipsBlue;
-
- // 鐢熷懡鍛ㄦ湡
- protected override void InitComponent()
+ protected override void RegisterBattleEvents()
{
- base.InitComponent();
- // 鍒濆鍖栫粍浠跺紩鐢� 缁戝畾鎸夐挳绛塙I缁勪欢浜嬩欢
- btnSpeed.AddListener(ChangeSpeed);
- btnPass.AddListener(OnClickPass);
- btnPause.AddListener(OnClickPause);
+ base.RegisterBattleEvents();
+ EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
}
- private void OnClickPause()
+ protected override void UnregisterBattleEvents()
{
- if (null == battleField)
- return;
- battleField.IsPause = !battleField.IsPause;
+ base.UnregisterBattleEvents();
+ EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
}
- private void OnClickPass()
+ protected virtual void OnBattleEnd(string guid, JsonData endData)
{
- 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();
+ if (battleField != null && guid == battleField.guid)
+ {
+ DisplayHpInfo();
+ }
}
protected override void OnPreOpen()
{
base.OnPreOpen();
MainWin.TabChangeEvent += OnTabChangeEvent;
- BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
- EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
- EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnCastSkill);
- EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
- BattleManager.Instance.storyBattleField.IsPause = true;
bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0);
if (isOpenBattleChangeTab)
@@ -97,14 +62,7 @@
protected override void OnPreClose()
{
base.OnPreClose();
- UIManager.Instance.CloseWindow<BattleHUDWin>();
MainWin.TabChangeEvent -= OnTabChangeEvent;
- BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
- EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
- EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnCastSkill);
- EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
- BattleManager.Instance.storyBattleField.IsPause = false;
-
bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
if (isOpenBattleChangeTab)
{
@@ -121,109 +79,29 @@
UIManager.Instance.CloseWindow<ArenaBattleWin>();
}
- private void OnBattleEnd(string guid, JsonData endData)
+ protected override void OnDamageTaken(BattleDmgInfo damageInfo)
{
- if (battleField != null && guid == battleField.guid)
- {
- DisplayHpInfo();
- }
- }
-
- private void OnDamageTaken(BattleDmgInfo damageInfo)
- {
+ base.OnDamageTaken(damageInfo);
if (battleField == null)
return;
if (damageInfo.battleFieldGuid == battleField.guid)
{
DisplayHpInfo();
- totalDamageDisplayer.SetDamage(damageInfo);
}
}
- 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 OnClose()
+ protected override void RefreshSpecific()
{
- base.OnClose();
- if (battleRootNode != null)
- {
- battleRootNode.transform.SetParent(Launch.Instance.transform);
- battleRootNode.transform.localPosition = new Vector3(-10000, -10000, 0);
- }
-
- if (battleField != null)
- {
- battleField.OnRoundChange -= OnRoundChange;
- battleField = null;
- }
- }
-
- public void SetBattleField(BattleField _battleField)
- {
- if (battleField != null)
- {
- battleField.OnRoundChange -= OnRoundChange;
- battleField = null;
- }
-
- 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);
- textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString();
- Refresh();
-
- battleField.OnRoundChange -= OnRoundChange;
- battleField.OnRoundChange += OnRoundChange;
- OnRoundChange(battleField.round, battleField.turnMax);
- }
-
- public override void Refresh()
- {
- base.Refresh();
DisplayHpInfo();
DisplayPlayerInfo();
- totalDamageDisplayer.SetActive(false);
- skillTipsBlue.SetActive(false);
- skillTipsRed.SetActive(false);
- }
-
- private void OnCastSkill(string guid, SkillConfig skillConfig, TeamHero teamHero)
- {
- if (battleField == null)
- return;
-
- if (battleField.guid != guid)
- return;
-
- BattleObject battleObject = battleField.battleObjMgr.GetBattleObject(teamHero.ObjID);
-
- bool isRed = battleObject.Camp == BattleCamp.Red;
-
- SkillTips tips = isRed ? skillTipsRed : skillTipsBlue;
-
- tips.PlayMotion(battleField, isRed, teamHero, skillConfig);
}
private void DisplayHpInfo()
@@ -346,13 +224,8 @@
}
- private void OnRoundChange(int round, int maxRound)
- {
- txtWaveInfo.text = string.Format("{0}/{1}", round, maxRound);
- }
-
bool IsOpenBattleChangeTab()
{
return FuncOpen.Instance.IsFuncOpen(ArenaManager.Instance.BattleChangeTabFuncId);
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0