using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 某个动画是否播放到了某个时间(归一化了的)范围内 /// public sealed class ConditionMotionRange : ConditionBase { Vector2 m_TimeRange = new Vector2(); Animator m_Animator; public ConditionMotionRange(Animator animator, float start, float end) { m_Animator = animator; m_TimeRange.Set(start, end); } public override bool Evaluate() { AnimatorStateInfo info = m_Animator.GetCurrentAnimatorStateInfo(0); float time = info.normalizedTime; bool result = time >= m_TimeRange.x && time <= m_TimeRange.y; return result; } }