From 3d3f0b7ede44569ecaab523350feede9fee383c3 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 26 Oct 2020 08:36:27 +0800 Subject: * ability system --- .../Conditions/ConditionMotionRange.cs | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs (limited to 'Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs') diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs new file mode 100644 index 00000000..c902ae26 --- /dev/null +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs @@ -0,0 +1,28 @@ +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; + } + +} -- cgit v1.1-26-g67d0