diff options
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs')
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs new file mode 100644 index 00000000..18d71e86 --- /dev/null +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// <summary> +/// 动画已经播放完毕 +/// </summary> +public class ConditionMotionAtEnd : ConditionBase +{ + Animator m_Animator; + int m_AnimationHash; + + public ConditionMotionAtEnd(Animator animator, int animationHash) + : base() + { + m_Animator = animator; + m_AnimationHash = animationHash; + } + + public override bool Evaluate() + { + AnimatorStateInfo info = m_Animator.GetCurrentAnimatorStateInfo(0); + if(info.shortNameHash == m_AnimationHash) + { + float t = info.normalizedTime; + if (t >= 0.99f) + return true; + } + return false; + } +} |