From b6f94e013be7edc0aa3de2440dd52d2c7e6d9d38 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 27 十月 2025 18:37:18 +0800
Subject: [PATCH] 125 竞技场+伤害展示跟技能名字弹出
---
Main/System/Battle/ArenaBattleWin.cs | 41 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/Main/System/Battle/ArenaBattleWin.cs b/Main/System/Battle/ArenaBattleWin.cs
index 4fdeba4..d50ae8b 100644
--- a/Main/System/Battle/ArenaBattleWin.cs
+++ b/Main/System/Battle/ArenaBattleWin.cs
@@ -34,6 +34,12 @@
[SerializeField] List<ArenaHeroHead> enemyHeroHeads;
[SerializeField] TextEx txtWaveInfo;
+
+ public TotalDamageDisplayer totalDamageDisplayer;
+
+ public SkillTips skillTipsRed;
+ public SkillTips skillTipsBlue;
+
// 鐢熷懡鍛ㄦ湡
protected override void InitComponent()
{
@@ -73,6 +79,7 @@
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();
@@ -94,6 +101,7 @@
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;
@@ -128,6 +136,7 @@
if (damageInfo.battleFieldGuid == battleField.guid)
{
DisplayHpInfo();
+ totalDamageDisplayer.SetDamage(damageInfo);
}
}
@@ -183,12 +192,40 @@
ui.SetBattleField(battleField);
battleField.UpdateCanvas(canvas);
textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString();
- DisplayHpInfo();
- DisplayPlayerInfo();
+ 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()
{
if (battleField == null)
--
Gitblit v1.8.0