diff options
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs')
-rw-r--r-- | Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs index 067d49a8..a3cda9c9 100644 --- a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs +++ b/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs @@ -12,6 +12,18 @@ public class AttackAbility : AbilityBase /// </summary>
private List<Trigger> m_Triggers = new List<Trigger>();
+ /// <summary>
+ /// 从动画结束开始计时
+ /// </summary>
+ float m_TimeCount;
+ public float ExpireTime
+ {
+ get
+ {
+ return m_TimeCount;
+ }
+ }
+
public AttackAbility(Animator animator, int animation)
{
m_Animator = animator;
@@ -30,11 +42,13 @@ public class AttackAbility : AbilityBase public override void OnEnter()
{
- m_Animator.CrossFade(m_AnimHash, 0);
+ m_TimeCount = 0;
+ m_Animator.CrossFade(m_AnimHash, 0f);
}
public override void OnExit()
{
+ m_TimeCount = 0;
}
public override void OnHit()
@@ -51,6 +65,11 @@ public class AttackAbility : AbilityBase public override void OnUpdate()
{
+ AnimatorStateInfo info = m_Animator.GetCurrentAnimatorStateInfo(0);
+ if(info.shortNameHash == m_AnimHash && info.normalizedTime >= 0.99f)
+ {
+ m_TimeCount += Time.deltaTime;
+ }
foreach (var abilityTrigger in m_Triggers)
{
if (abilityTrigger.Update())
|