Main/System/Battle/BattleField/RecordActions/BuffMountAction.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Main/System/Battle/Buff/BattleObjectBuffMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Battle/BattleField/RecordActions/BuffMountAction.cs
@@ -4,23 +4,23 @@ public class BuffMountAction : RecordAction { protected HB428_tagSCBuffRefresh hB428_TagSCBuffRefresh; protected List<HB428_tagSCBuffRefresh> buffList; protected Action onComplete; public BuffMountAction(BattleField _battleField, BattleObject _battleObj, HB428_tagSCBuffRefresh vNetData, Action _onComplete) : base(RecordActionType.BuffMount, _battleField, _battleObj) public BuffMountAction(BattleField _battleField, List<HB428_tagSCBuffRefresh> buffPackList, Action _onComplete = null) : base(RecordActionType.Death, _battleField, null) { isFinish = false; hB428_TagSCBuffRefresh = vNetData; buffList = buffPackList; onComplete = _onComplete; } public override bool IsFinished() { return isFinish; } public override void Run() { @@ -28,17 +28,19 @@ if (!isRunOnce) { SkillConfig skillConfig = SkillConfig.Get((int)hB428_TagSCBuffRefresh.SkillID); if (null != skillConfig) foreach (var hB428_TagSCBuffRefresh in buffList) { // 飘字 battleObject.heroInfoBar.ShowTips(skillConfig.SkillName); SkillConfig skillConfig = SkillConfig.Get((int)hB428_TagSCBuffRefresh.SkillID); BattleObject obj = battleField.battleObjMgr.GetBattleObject((int)hB428_TagSCBuffRefresh.ObjID); if (null != skillConfig && obj != null) { // 飘字 obj.heroInfoBar.ShowTips(skillConfig.SkillName); } } // 加buff(onComplete写了) onComplete?.Invoke(); isFinish = true; return; @@ -48,6 +50,11 @@ public override void ForceFinish() { if (isFinish) { return; } // 1帧就结束了 不管 base.ForceFinish(); } Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -93,7 +93,7 @@ } // 刷新buff public void RefreshBuff(HB428_tagSCBuffRefresh vNetData) public void RefreshBuff(HB428_tagSCBuffRefresh vNetData, bool insert = false) { SkillConfig skillConfig = SkillConfig.Get((int)vNetData.SkillID); @@ -114,9 +114,9 @@ buffDataDict.Add(vNetData.BuffID, vNetData); } if (isNew) if (vNetData.IsAdd != 0) { BuffMountAction buffMountAction = new BuffMountAction(battleObject.battleField, battleObject, vNetData, () => BuffMountAction buffMountAction = new BuffMountAction(battleObject.battleField, new List<HB428_tagSCBuffRefresh>(){ vNetData}, () => { if (null != skillConfig && skillConfig.BuffEffect > 0) { @@ -135,7 +135,14 @@ } battleObject.heroInfoBar.RefreshBuff(buffDataDict.Values.ToList()); }); battleObject.battleField.recordPlayer.PlayRecord(buffMountAction); if (insert) { battleObject.battleField.recordPlayer.ImmediatelyPlay(buffMountAction); } else { battleObject.battleField.recordPlayer.PlayRecord(buffMountAction); } } else { @@ -144,4 +151,8 @@ } } public void InsertBuff(HB428_tagSCBuffRefresh vNetData) { RefreshBuff(vNetData, true); } }