48 lines
950 B
C#
48 lines
950 B
C#
using UnityEngine;
|
|
|
|
public class HumanSoldierSkill : UnitSkill
|
|
{
|
|
[Min(0f)]
|
|
public float bonusAttackMultiplier = 0.5f;
|
|
|
|
[Header("技能动画")]
|
|
[Min(0f)]
|
|
public float skillAnimationDuration = 0f;
|
|
|
|
private bool isSkillReady;
|
|
|
|
public override void ReleaseSkill()
|
|
{
|
|
isSkillReady = true;
|
|
unit.PlaySkillAnimation(OnSkillFinished, skillAnimationDuration);
|
|
}
|
|
|
|
// 添加到技能攻击动画的第一段命中帧。
|
|
public void OnSkillHit1()
|
|
{
|
|
if (!isSkillReady)
|
|
{
|
|
return;
|
|
}
|
|
|
|
unit.ApplySkillHit(1f, true);
|
|
}
|
|
|
|
// 添加到技能攻击动画的第二段命中帧。
|
|
public void OnSkillHit2()
|
|
{
|
|
if (!isSkillReady)
|
|
{
|
|
return;
|
|
}
|
|
|
|
unit.ApplySkillHit(bonusAttackMultiplier, false);
|
|
isSkillReady = false;
|
|
}
|
|
|
|
private void OnSkillFinished()
|
|
{
|
|
isSkillReady = false;
|
|
}
|
|
}
|