From 34afd319a510ba4b26e7e94ba6c5ec24a3b2d84d Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 31 十二月 2025 16:48:22 +0800
Subject: [PATCH] 125 战斗 buff配置查询不到时 不生成新的icon
---
Main/System/Battle/Skill/SkillFactory.cs | 22 ++++-
Main/System/Battle/StoryBossBattleWin.cs | 39 +++++----
Main/System/Battle/UIComp/BattleHeroInfoBar.cs | 34 +++++--
Main/System/Battle/BoneFieldBattleWin.cs | 39 +++++----
Main/System/Battle/Buff/BattleObjectBuffMgr.cs | 9 +
Main/System/Battle/TianziBillboradBattleWin.cs | 39 +++++----
6 files changed, 117 insertions(+), 65 deletions(-)
diff --git a/Main/System/Battle/BoneFieldBattleWin.cs b/Main/System/Battle/BoneFieldBattleWin.cs
index 9b5932a..d720d7b 100644
--- a/Main/System/Battle/BoneFieldBattleWin.cs
+++ b/Main/System/Battle/BoneFieldBattleWin.cs
@@ -172,7 +172,7 @@
var buffList = new List<HB428_tagSCBuffRefresh>();
if (null != bossBattleObject)
{
- buffList = bossBattleObject.buffMgr.GetBuffList();
+ buffList = bossBattleObject.buffMgr.GetBuffIconList();
}
RefreshBuff(buffList);
}
@@ -244,26 +244,33 @@
public void RefreshBuff(List<HB428_tagSCBuffRefresh> datas)
{
- if (buffCells.IsNullOrEmpty())
- return;
-
-
- for (int i = 0; i < buffCells.Count; i++)
+ if (buffCells == null)
{
- if (i < datas.Count)
- {
- buffCells[i].SetActive(true);
- HB428_tagSCBuffRefresh buffData = datas[i];
- buffCells[i].Init(buffData, () =>
- {
- // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
- });
- }
- else
+ for (int i = 0; i < buffCells.Count; i++)
{
buffCells[i].SetActive(false);
}
}
+ else
+ {
+ for (int i = 0; i < buffCells.Count; i++)
+ {
+ if (i < datas.Count)
+ {
+ buffCells[i].SetActive(true);
+ HB428_tagSCBuffRefresh buffData = datas[i];
+ SkillConfig skillConfig = SkillConfig.Get((int)buffData.SkillID);
+ buffCells[i].Init(buffData, () =>
+ {
+ // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
+ });
+ }
+ else
+ {
+ buffCells[i].SetActive(false);
+ }
+ }
+ }
}
bool IsOpenBattleChangeTab()
diff --git a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
index e2a771b..9c9ec73 100644
--- a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
+++ b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -374,9 +374,14 @@
return false;
}
- public List<HB428_tagSCBuffRefresh> GetBuffList()
+ public List<HB428_tagSCBuffRefresh> GetBuffIconList()
{
- return buffDataDict.Values.ToList();
+ List<HB428_tagSCBuffRefresh> buffList = buffDataDict.Values.Where(buff =>
+ {
+ SkillConfig skillConfig = SkillConfig.Get((int)buff.SkillID);
+ return skillConfig != null;
+ }).ToList();
+ return buffList;
}
public long GetShieldValue()
diff --git a/Main/System/Battle/Skill/SkillFactory.cs b/Main/System/Battle/Skill/SkillFactory.cs
index 043a4bc..6eaa2ae 100644
--- a/Main/System/Battle/Skill/SkillFactory.cs
+++ b/Main/System/Battle/Skill/SkillFactory.cs
@@ -78,14 +78,28 @@
case 15:
skill = new MountBuffSkill(_caster, skillConfig, vNetData, packList, battleField);
break;
+
+ // 鍏夌幆
+ case 10:
+ //
+ Debug.LogError(skillConfig.SkillID + " : 瓒呭嚭浜嗘妧鑳界被鍨嬭寖鍥� 璇锋鏌ラ厤缃�, 鐩墠鏆傛椂鍙敮鎸佹敾鍑荤被鍨嬬殑鎶�鑳� " + skillConfig.SkillType);
+ break;
+
+ case 7:
+ case 9:
+ case 12:
+ Debug.LogError(skillConfig.SkillID + " : 瓒呭嚭浜嗘妧鑳界被鍨嬭寖鍥� 璇锋鏌ラ厤缃�, 鐩墠鏆傛椂鍙敮鎸佹敾鍑荤被鍨嬬殑鎶�鑳� " + skillConfig.SkillType);
+ break;
+
+ // 鍙敜
+ case 13:
+ Debug.LogError(skillConfig.SkillID + " : 瓒呭嚭浜嗘妧鑳界被鍨嬭寖鍥� 璇锋鏌ラ厤缃�, 鐩墠鏆傛椂鍙敮鎸佹敾鍑荤被鍨嬬殑鎶�鑳� " + skillConfig.SkillType);
+ break;
+
default:
Debug.LogError(skillConfig.SkillID + " : 瓒呭嚭浜嗘妧鑳界被鍨嬭寖鍥� 璇锋鏌ラ厤缃�, 鐩墠鏆傛椂鍙敮鎸佹敾鍑荤被鍨嬬殑鎶�鑳� " + skillConfig.SkillType);
break;
}
-
- // skill 鎸傝浇buff
- // skill 1 2 3 4鎶�鑳�
- // skill澶� B428 灏�
return skill;
}
diff --git a/Main/System/Battle/StoryBossBattleWin.cs b/Main/System/Battle/StoryBossBattleWin.cs
index ca75718..8f8d4dd 100644
--- a/Main/System/Battle/StoryBossBattleWin.cs
+++ b/Main/System/Battle/StoryBossBattleWin.cs
@@ -146,7 +146,7 @@
var buffList = new List<HB428_tagSCBuffRefresh>();
if (null != bossBattleObject)
{
- buffList = bossBattleObject.buffMgr.GetBuffList();
+ buffList = bossBattleObject.buffMgr.GetBuffIconList();
}
RefreshBuff(buffList);
}
@@ -212,26 +212,33 @@
public void RefreshBuff(List<HB428_tagSCBuffRefresh> datas)
{
- if (buffCells.IsNullOrEmpty())
- return;
-
-
- for (int i = 0; i < buffCells.Count; i++)
+ if (buffCells == null)
{
- if (i < datas.Count)
- {
- buffCells[i].SetActive(true);
- HB428_tagSCBuffRefresh buffData = datas[i];
- buffCells[i].Init(buffData, () =>
- {
- // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
- });
- }
- else
+ for (int i = 0; i < buffCells.Count; i++)
{
buffCells[i].SetActive(false);
}
}
+ else
+ {
+ for (int i = 0; i < buffCells.Count; i++)
+ {
+ if (i < datas.Count)
+ {
+ buffCells[i].SetActive(true);
+ HB428_tagSCBuffRefresh buffData = datas[i];
+ SkillConfig skillConfig = SkillConfig.Get((int)buffData.SkillID);
+ buffCells[i].Init(buffData, () =>
+ {
+ // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
+ });
+ }
+ else
+ {
+ buffCells[i].SetActive(false);
+ }
+ }
+ }
}
List<TeamHero> GetTeamHeroList(List<BattleObject> teams)
{
diff --git a/Main/System/Battle/TianziBillboradBattleWin.cs b/Main/System/Battle/TianziBillboradBattleWin.cs
index 4cbc9e2..4d1391b 100644
--- a/Main/System/Battle/TianziBillboradBattleWin.cs
+++ b/Main/System/Battle/TianziBillboradBattleWin.cs
@@ -235,7 +235,7 @@
var buffList = new List<HB428_tagSCBuffRefresh>();
if (null != bossBattleObject)
{
- buffList = bossBattleObject.buffMgr.GetBuffList();
+ buffList = bossBattleObject.buffMgr.GetBuffIconList();
}
RefreshBuff(buffList);
}
@@ -294,26 +294,33 @@
public void RefreshBuff(List<HB428_tagSCBuffRefresh> datas)
{
- if (buffCells.IsNullOrEmpty())
- return;
-
-
- for (int i = 0; i < buffCells.Count; i++)
+ if (buffCells == null)
{
- if (i < datas.Count)
- {
- buffCells[i].SetActive(true);
- HB428_tagSCBuffRefresh buffData = datas[i];
- buffCells[i].Init(buffData, () =>
- {
- // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
- });
- }
- else
+ for (int i = 0; i < buffCells.Count; i++)
{
buffCells[i].SetActive(false);
}
}
+ else
+ {
+ for (int i = 0; i < buffCells.Count; i++)
+ {
+ if (i < datas.Count)
+ {
+ buffCells[i].SetActive(true);
+ HB428_tagSCBuffRefresh buffData = datas[i];
+ SkillConfig skillConfig = SkillConfig.Get((int)buffData.SkillID);
+ buffCells[i].Init(buffData, () =>
+ {
+ // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
+ });
+ }
+ else
+ {
+ buffCells[i].SetActive(false);
+ }
+ }
+ }
}
bool IsOpenBattleChangeTab()
diff --git a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
index e88285a..58a7f32 100644
--- a/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
+++ b/Main/System/Battle/UIComp/BattleHeroInfoBar.cs
@@ -80,7 +80,7 @@
{
battleObject = _battleObject;
heroInfoContainer.SetHeroInfo(battleObject.teamHero);
- RefreshBuff(battleObject.buffMgr.GetBuffList());
+ RefreshBuff(battleObject.buffMgr.GetBuffIconList());
if (!battleObject.IsTianziBoss())
{
@@ -118,21 +118,33 @@
public void RefreshBuff(List<HB428_tagSCBuffRefresh> datas)
{
- if (buffCells.IsNullOrEmpty())
- return;
-
- for (int i = 0; i < buffCells.Count; i++)
+ if (buffCells == null)
{
- if (i < datas.Count)
- {
- buffCells[i].SetActive(true);
- buffCells[i].Init(datas[i], OnBuffCellClicked);
- }
- else
+ for (int i = 0; i < buffCells.Count; i++)
{
buffCells[i].SetActive(false);
}
}
+ else
+ {
+ for (int i = 0; i < buffCells.Count; i++)
+ {
+ if (i < datas.Count)
+ {
+ buffCells[i].SetActive(true);
+ HB428_tagSCBuffRefresh buffData = datas[i];
+ SkillConfig skillConfig = SkillConfig.Get((int)buffData.SkillID);
+ buffCells[i].Init(buffData, () =>
+ {
+ // 鐐瑰嚮buff鍥炬爣 鏄剧ずbuff鎻忚堪/褰撳墠韬笂鎵�鏈塨uff
+ });
+ }
+ else
+ {
+ buffCells[i].SetActive(false);
+ }
+ }
+ }
// check shield buff
long shieldValue = battleObject.buffMgr.GetShieldValue();
--
Gitblit v1.8.0