From 4e41975b0c62fa10ab571b0c9ad0690754762b6a Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 30 十月 2025 16:45:07 +0800
Subject: [PATCH] 125 战斗 飘字更新
---
Main/System/Battle/Buff/BattleObjectBuffMgr.cs | 71 ++++++++++++++++++++---------------
1 files changed, 40 insertions(+), 31 deletions(-)
diff --git a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
index da4099d..9e4f183 100644
--- a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
+++ b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -94,23 +94,24 @@
// 鍒犻櫎buff
public void RemoveBuff(HB429_tagSCBuffDel vNetData)
{
- HB428_tagSCBuffRefresh buffData = null;
-
- bool isRemove = false;
-
- if (buffDataDict.TryGetValue(vNetData.BuffID, out buffData))
- {
- isRemove = true;
- buffDataDict.Remove(vNetData.BuffID);
- }
-
- if (!isRemove)
- {
- return;
- }
-
+ var tempvNetData = vNetData;
BuffUnmountAction buffRemoveAction = new BuffUnmountAction(battleObject.battleField, new List<HB429_tagSCBuffDel>() { vNetData }, () =>
{
+ HB428_tagSCBuffRefresh buffData = null;
+
+ bool isRemove = false;
+
+ if (buffDataDict.TryGetValue(tempvNetData.BuffID, out buffData))
+ {
+ isRemove = true;
+ buffDataDict.Remove(tempvNetData.BuffID);
+ }
+
+ if (!isRemove)
+ {
+ return;
+ }
+
bool isRemoveEffect = false;
int remainCnt = -1;
@@ -143,7 +144,7 @@
if (buffGroupStateDict[BattleConst.HardControlGroup.ToString()].Contains(skillConfig.BuffState))
{
- BattleDebug.LogError("[BattleObjectBuffMgr]绉婚櫎瀵硅薄 " + battleObject.ObjID + " 鐨刡uff id " + vNetData.BuffID + " BuffState is " + skillConfig.BuffState + " 鏄惁鍒犻櫎浜嗗瓧鍏稿唴鐨勫唴瀹� " + isRemove.ToString() + " 鏄惁鍒犻櫎浜嗙壒鏁� " + isRemoveEffect.ToString() + " pack uid 鏄� " + vNetData.packUID);
+ BattleDebug.LogError("[BattleObjectBuffMgr]绉婚櫎瀵硅薄 " + battleObject.ObjID + " 鐨刡uff id " + tempvNetData.BuffID + " BuffState is " + skillConfig.BuffState + " 鏄惁鍒犻櫎浜嗗瓧鍏稿唴鐨勫唴瀹� " + isRemove.ToString() + " 鏄惁鍒犻櫎浜嗙壒鏁� " + isRemoveEffect.ToString() + " pack uid 鏄� " + vNetData.packUID);
}
}
@@ -173,21 +174,21 @@
return;
}
- // bool isNew = false;
- if (buffDataDict.ContainsKey(vNetData.BuffID))
- {
- buffDataDict[vNetData.BuffID] = vNetData;
- }
- else
- {
- // isNew = true;
- buffDataDict.Add(vNetData.BuffID, vNetData);
- }
+ var tempvNetData = vNetData;
- if (vNetData.IsAdd != 0)
+ if (tempvNetData.IsAdd != 0)
{
- BuffMountAction buffMountAction = new BuffMountAction(battleObject.battleField, new List<HB428_tagSCBuffRefresh>() { vNetData }, () =>
+ BuffMountAction buffMountAction = new BuffMountAction(battleObject.battleField, new List<HB428_tagSCBuffRefresh>() { tempvNetData }, () =>
{
+ if (buffDataDict.ContainsKey(tempvNetData.BuffID))
+ {
+ buffDataDict[tempvNetData.BuffID] = tempvNetData;
+ }
+ else
+ {
+ buffDataDict.Add(tempvNetData.BuffID, tempvNetData);
+ }
+
if (battleObject.IsDead())
{
return;
@@ -198,7 +199,7 @@
// 宸茬粡瀛樺湪鐩稿悓鐨刡uff鐗规晥
if (buffEffectDict.TryGetValue(skillConfig.BuffEffect, out KeyValuePair<BattleEffectPlayer, HashSet<uint>> pair))
{
- pair.Value.Add(vNetData.BuffID);
+ pair.Value.Add(tempvNetData.BuffID);
}
else
{
@@ -209,7 +210,7 @@
effect.BindBone(battleObject.motionBase.skeletonAnim, effect.effectConfig.nodeName);
HashSet<uint> buffIdSet = new HashSet<uint>();
- buffIdSet.Add(vNetData.BuffID);
+ buffIdSet.Add(tempvNetData.BuffID);
buffEffectDict.Add(skillConfig.BuffEffect, new KeyValuePair<BattleEffectPlayer, HashSet<uint>>(effect, buffIdSet));
}
@@ -217,7 +218,7 @@
if (skillConfig != null && buffGroupStateDict[BattleConst.HardControlGroup.ToString()].Contains(skillConfig.BuffState))
{
- BattleDebug.LogError("[BattleObjectBuffMgr]娣诲姞瀵硅薄 " + battleObject.ObjID + " 鐨刡uff id " + vNetData.BuffID + " pack uid 鏄� " + vNetData.packUID + " BuffState is " + skillConfig.BuffState);
+ BattleDebug.LogError("[BattleObjectBuffMgr]娣诲姞瀵硅薄 " + battleObject.ObjID + " 鐨刡uff id " + tempvNetData.BuffID + " pack uid 鏄� " + tempvNetData.packUID + " BuffState is " + skillConfig.BuffState);
}
OnBuffChanged();
@@ -233,6 +234,14 @@
}
else
{
+ if (buffDataDict.ContainsKey(tempvNetData.BuffID))
+ {
+ buffDataDict[tempvNetData.BuffID] = tempvNetData;
+ }
+ else
+ {
+ buffDataDict.Add(tempvNetData.BuffID, tempvNetData);
+ }
// 宸茬粡瀛樺湪鐨刡uff 鍒锋柊
OnBuffChanged();
}
--
Gitblit v1.8.0