| | |
| | | // 删除buff |
| | | public void RemoveBuff(HB429_tagSCBuffDel vNetData) |
| | | { |
| | | var tempvNetData = vNetData; |
| | | BuffUnmountAction buffRemoveAction = new BuffUnmountAction(battleObject.battleField, new List<HB429_tagSCBuffDel>() { vNetData }, () => |
| | | { |
| | | HB428_tagSCBuffRefresh buffData = null; |
| | | |
| | | bool isRemove = false; |
| | | |
| | | if (buffDataDict.TryGetValue(vNetData.BuffID, out buffData)) |
| | | if (buffDataDict.TryGetValue(tempvNetData.BuffID, out buffData)) |
| | | { |
| | | isRemove = true; |
| | | buffDataDict.Remove(vNetData.BuffID); |
| | | buffDataDict.Remove(tempvNetData.BuffID); |
| | | } |
| | | |
| | | if (!isRemove) |
| | |
| | | return; |
| | | } |
| | | |
| | | BuffUnmountAction buffRemoveAction = new BuffUnmountAction(battleObject.battleField, new List<HB429_tagSCBuffDel>() { vNetData }, () => |
| | | { |
| | | bool isRemoveEffect = false; |
| | | |
| | | int remainCnt = -1; |
| | |
| | | |
| | | if (buffGroupStateDict[BattleConst.HardControlGroup.ToString()].Contains(skillConfig.BuffState)) |
| | | { |
| | | BattleDebug.LogError("[BattleObjectBuffMgr]移除对象 " + battleObject.ObjID + " 的buff id " + vNetData.BuffID + " BuffState is " + skillConfig.BuffState + " 是否删除了字典内的内容 " + isRemove.ToString() + " 是否删除了特效 " + isRemoveEffect.ToString() + " pack uid 是 " + vNetData.packUID); |
| | | BattleDebug.LogError("[BattleObjectBuffMgr]移除对象 " + battleObject.ObjID + " 的buff id " + tempvNetData.BuffID + " BuffState is " + skillConfig.BuffState + " 是否删除了字典内的内容 " + isRemove.ToString() + " 是否删除了特效 " + isRemoveEffect.ToString() + " pack uid 是 " + vNetData.packUID); |
| | | } |
| | | } |
| | | |
| | |
| | | return; |
| | | } |
| | | |
| | | // bool isNew = false; |
| | | if (buffDataDict.ContainsKey(vNetData.BuffID)) |
| | | var tempvNetData = vNetData; |
| | | |
| | | if (tempvNetData.IsAdd != 0) |
| | | { |
| | | buffDataDict[vNetData.BuffID] = vNetData; |
| | | BuffMountAction buffMountAction = new BuffMountAction(battleObject.battleField, new List<HB428_tagSCBuffRefresh>() { tempvNetData }, () => |
| | | { |
| | | if (buffDataDict.ContainsKey(tempvNetData.BuffID)) |
| | | { |
| | | buffDataDict[tempvNetData.BuffID] = tempvNetData; |
| | | } |
| | | else |
| | | { |
| | | // isNew = true; |
| | | buffDataDict.Add(vNetData.BuffID, vNetData); |
| | | buffDataDict.Add(tempvNetData.BuffID, tempvNetData); |
| | | } |
| | | |
| | | if (vNetData.IsAdd != 0) |
| | | { |
| | | BuffMountAction buffMountAction = new BuffMountAction(battleObject.battleField, new List<HB428_tagSCBuffRefresh>() { vNetData }, () => |
| | | { |
| | | if (battleObject.IsDead()) |
| | | { |
| | | return; |
| | |
| | | // 已经存在相同的buff特效 |
| | | if (buffEffectDict.TryGetValue(skillConfig.BuffEffect, out KeyValuePair<BattleEffectPlayer, HashSet<uint>> pair)) |
| | | { |
| | | pair.Value.Add(vNetData.BuffID); |
| | | pair.Value.Add(tempvNetData.BuffID); |
| | | } |
| | | else |
| | | { |
| | |
| | | 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)); |
| | | } |
| | | |
| | |
| | | |
| | | if (skillConfig != null && buffGroupStateDict[BattleConst.HardControlGroup.ToString()].Contains(skillConfig.BuffState)) |
| | | { |
| | | BattleDebug.LogError("[BattleObjectBuffMgr]添加对象 " + battleObject.ObjID + " 的buff id " + vNetData.BuffID + " pack uid 是 " + vNetData.packUID + " BuffState is " + skillConfig.BuffState); |
| | | BattleDebug.LogError("[BattleObjectBuffMgr]添加对象 " + battleObject.ObjID + " 的buff id " + tempvNetData.BuffID + " pack uid 是 " + tempvNetData.packUID + " BuffState is " + skillConfig.BuffState); |
| | | } |
| | | |
| | | OnBuffChanged(); |
| | |
| | | } |
| | | else |
| | | { |
| | | if (buffDataDict.ContainsKey(tempvNetData.BuffID)) |
| | | { |
| | | buffDataDict[tempvNetData.BuffID] = tempvNetData; |
| | | } |
| | | else |
| | | { |
| | | buffDataDict.Add(tempvNetData.BuffID, tempvNetData); |
| | | } |
| | | // 已经存在的buff 刷新 |
| | | OnBuffChanged(); |
| | | } |