using Gameplay.Skill; using UnityEngine; namespace Gameplay.Buff { public class BuffRecoverHP2 : BaseBuff { private int _recoverHp; protected override void _OnInit() { base._OnInit(); // 回复血量 = 固定值 + 技能等级*系数2 var fixValue = _TryGetIntParam(0); var scaleParam2 = _TryGetFloatParam(1); var skillManager = SkillManager.instance.GetUnitSkillManager(creator); if (skillManager == null) { DebugUtil.LogError("未找到技能管理器"); return; } var skillLevel = skillManager.GetPSkillLevel(); _recoverHp = fixValue + Mathf.RoundToInt(skillLevel * scaleParam2); } protected override void _OnTrigger() { base._OnTrigger(); owner.RecoverHp(_recoverHp); } } }