diff options
author | chai <chaifix@163.com> | 2020-10-26 08:36:27 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-26 08:36:27 +0800 |
commit | 3d3f0b7ede44569ecaab523350feede9fee383c3 (patch) | |
tree | 9df6c24adafa7e77287f9f8351746d8da692bf4f /Assets/Scripts/AbilitySystem/Conditions | |
parent | 65ed53a40f990e895305ff17a5e48e3cd6b8785b (diff) |
* ability system
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Conditions')
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/Camera.meta | 8 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionCombo.cs | 2 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionInair.cs | 9 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs (renamed from Assets/Scripts/AbilitySystem/Conditions/ConditionAnimAtEnd.cs) | 62 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs.meta (renamed from Assets/Scripts/AbilitySystem/Conditions/ConditionAnimAtEnd.cs.meta) | 0 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionFrameRange.cs (renamed from Assets/Scripts/AbilitySystem/Conditions/ConditionAnimFrameRange.cs) | 0 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionFrameRange.cs.meta (renamed from Assets/Scripts/AbilitySystem/Conditions/ConditionAnimFrameRange.cs.meta) | 0 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs (renamed from Assets/Scripts/AbilitySystem/Conditions/ConditionAnimRange.cs) | 56 | ||||
-rw-r--r-- | Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs.meta (renamed from Assets/Scripts/AbilitySystem/Conditions/ConditionAnimRange.cs.meta) | 0 |
9 files changed, 76 insertions, 61 deletions
diff --git a/Assets/Scripts/AbilitySystem/Conditions/Camera.meta b/Assets/Scripts/AbilitySystem/Conditions/Camera.meta new file mode 100644 index 00000000..bfa55719 --- /dev/null +++ b/Assets/Scripts/AbilitySystem/Conditions/Camera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8d7f28027add89c448243fbe5ea14144 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionCombo.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionCombo.cs index 7664a891..1b6159cb 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionCombo.cs +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionCombo.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using UnityEngine;
/// <summary>
-/// 连击操作,综合ConditionAnimRange和ConditionCommand
+/// 连击操作,综合ConditionMotionRange和ConditionCommand
/// </summary>
public class ConditionCombo : ConditionBase
{
diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionInair.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionInair.cs index 80bae491..2c631970 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionInair.cs +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionInair.cs @@ -7,8 +7,15 @@ using UnityEngine; /// </summary>
public class ConditionInAir : ConditionBase
{
+ PhysicsPrimitive m_Prim;
+
+ public ConditionInAir(PhysicsPrimitive prim)
+ {
+ m_Prim = prim;
+ }
+
public override bool Evaluate()
{
- return false;
+ return m_Prim.Bound.w > PhysicsWorld.Ground;
}
}
diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimAtEnd.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs index cfdcfab5..18d71e86 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimAtEnd.cs +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs @@ -1,31 +1,31 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-/// <summary>
-/// 动画已经播放完毕
-/// </summary>
-public class ConditionAnimAtEnd : ConditionBase
-{
- Animator m_Animator;
- int m_AnimationHash;
-
- public ConditionAnimAtEnd(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;
- }
-}
+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; + } +} diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimAtEnd.cs.meta b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs.meta index 1688dd68..1688dd68 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimAtEnd.cs.meta +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionAtEnd.cs.meta diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimFrameRange.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionFrameRange.cs index 282ef929..282ef929 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimFrameRange.cs +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionFrameRange.cs diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimFrameRange.cs.meta b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionFrameRange.cs.meta index 3fc88fb1..3fc88fb1 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimFrameRange.cs.meta +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionFrameRange.cs.meta diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimRange.cs b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs index b8f98065..c902ae26 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimRange.cs +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs @@ -1,28 +1,28 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-/// <summary>
-/// 某个动画是否播放到了某个时间(归一化了的)范围内
-/// </summary>
-public sealed class ConditionAnimRange : ConditionBase
-{
- Vector2 m_TimeRange = new Vector2();
- Animator m_Animator;
-
- public ConditionAnimRange(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;
- }
-
-}
+using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// <summary> +/// 某个动画是否播放到了某个时间(归一化了的)范围内 +/// </summary> +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; + } + +} diff --git a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimRange.cs.meta b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs.meta index 926a8560..926a8560 100644 --- a/Assets/Scripts/AbilitySystem/Conditions/ConditionAnimRange.cs.meta +++ b/Assets/Scripts/AbilitySystem/Conditions/ConditionMotionRange.cs.meta |