using UnityEngine; using System.Collections.Generic; using System; public class BuffMountAction : RecordAction { protected List buffList; protected Action onComplete; public BuffMountAction(BattleField _battleField, List buffPackList, Action _onComplete = null) : base(RecordActionType.Death, _battleField, null) { isFinish = false; buffList = buffPackList; onComplete = _onComplete; } public override bool IsFinished() { return isFinish; } public override void Run() { base.Run(); if (!isRunOnce) { foreach (var hB428_TagSCBuffRefresh in buffList) { SkillConfig skillConfig = SkillConfig.Get((int)hB428_TagSCBuffRefresh.SkillID); BattleObject obj = battleField.battleObjMgr.GetBattleObject((int)hB428_TagSCBuffRefresh.ObjID); if (null != skillConfig && obj != null) { // 飘字 BattleHeroInfoBar.TipsInfo tipsInfo = new BattleHeroInfoBar.TipsInfo(); tipsInfo.message = skillConfig.SkillName; tipsInfo.useArtText = false; tipsInfo.followCharacter = true; tipsInfo.scaleRatio = 1f; tipsInfo.showBackground = true; // 使用 Buff 颜色 tipsInfo.useBuffColor = true; tipsInfo.isDebuff = skillConfig.IsDebuff(); obj.heroInfoBar.ShowTips(tipsInfo); } } // 加buff(onComplete写了) onComplete?.Invoke(); isFinish = true; return; } } public override void ForceFinish() { if (isFinish) { return; } // 1帧就结束了 不管 base.ForceFinish(); } }