diff options
Diffstat (limited to 'Assets/Scripts/AbilitySystem/Abilities')
16 files changed, 0 insertions, 693 deletions
diff --git a/Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs b/Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs deleted file mode 100644 index 8b1a5549..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-/// <summary>
-/// 同一个角色同一个时间只能有一个ability
-/// </summary>
-public abstract class AbilityBase
-{
- protected int m_AbilityID;
- public int ID
- {
- get
- {
- return m_AbilityID;
- }
- }
-
- public AbilityBase()
- {
- m_AbilityID = UIDManager.Acquire();
- }
-
- public virtual void OnInit() { }
-
- /// <summary>
- /// 进入当前ability的回调
- /// </summary>
- public virtual void OnEnter() { }
-
- /// <summary>
- /// 退出当前ability的回调
- /// </summary>
- public virtual void OnExit() { }
-
- /// <summary>
- /// 当前ability的update函数
- /// </summary>
- public virtual void OnUpdate() { }
-
- /// <summary>
- /// 在物理模拟之后更新
- /// </summary>
- public virtual void OnLateUpdate() { }
-
- /// <summary>
- /// 过渡到下一个ability的回调
- /// </summary>
- /// <param name="to"></param>
- public virtual void OnTranslate(AbilityBase to) { }
-
- /// <summary>
- /// 检测到hitbox碰撞时的回调
- /// </summary>
- public virtual void OnHit() { }
-
- /// <summary>
- /// 检测到hurtbox碰撞时的回调
- /// </summary>
- public virtual void OnHurt() { }
-
- /// <summary>
- /// 检测到defendbox碰撞时的回调
- /// </summary>
- public virtual void OnDefend() { }
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs.meta deleted file mode 100644 index 79a6b7eb..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a3b3cfab4bd1dd74bb539687535b58f1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs deleted file mode 100644 index 168b6086..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs +++ /dev/null @@ -1,126 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public struct AttackAbilityConfig
-{
- public Vector3 velocity; // velocity setup
- public int motion;
- public Animator animator;
- public PhysicsBody body;
-}
-
-// 单独的一个招式
-public class AttackAbility : AbilityBase
-{
- AttackAbilityConfig m_Config = new AttackAbilityConfig();
-
- /// <summary>
- /// 在跑动状态时可以切换的ability
- /// </summary>
- private List<Trigger> m_Triggers = new List<Trigger>();
-
- private List<Trigger> m_LateTriggers = new List<Trigger>();
-
- /// <summary>
- /// 从动画结束开始计时
- /// </summary>
- float m_TimeCount;
- public float ExpireTime
- {
- get
- {
- return m_TimeCount;
- }
- }
-
- public AttackAbility(Animator animator, int animation, PhysicsBody body = null)
- {
- m_Config.animator = animator;
- m_Config.motion = animation;
- m_Config.velocity = Vector3.zero;
- m_Config.body = body;
- }
-
- public AttackAbility(AttackAbilityConfig config)
- {
- m_Config = config;
- }
-
- public override void OnInit()
- {
- }
-
- public override void OnDefend()
- {
- throw new System.NotImplementedException();
- }
-
- public override void OnEnter()
- {
- m_TimeCount = 0;
-
- m_Config.animator.CrossFade(m_Config.motion, 0);
-
- if(m_Config.body != null)
- {
- m_Config.body.LocalVelocity = m_Config.velocity;
- }
- }
-
- public override void OnExit()
- {
- m_TimeCount = 0;
- }
-
- public override void OnHit()
- {
- }
-
- public override void OnHurt()
- {
- }
-
- public override void OnTranslate(AbilityBase to)
- {
- }
-
- public override void OnUpdate()
- {
- AnimatorStateInfo info = m_Config.animator.GetCurrentAnimatorStateInfo(0);
- if(info.shortNameHash == m_Config.motion && info.normalizedTime >= 0.99f)
- {
- m_TimeCount += Time.deltaTime;
- }
- foreach (var abilityTrigger in m_Triggers)
- {
- if (abilityTrigger.Update() && abilityTrigger.Swallow)
- break;
- }
- }
-
- // 在物理模拟之后
- public override void OnLateUpdate()
- {
- foreach (var trigger in m_LateTriggers)
- {
- if (trigger.Update() && trigger.Swallow)
- break;
- }
- }
-
- public void AddTrigger(Trigger trigger)
- {
- if (trigger == null || m_Triggers.Contains(trigger))
- return;
- m_Triggers.Add(trigger);
- }
-
- public void AddLateTrigger(Trigger trigger)
- {
- if (trigger == null || m_LateTriggers.Contains(trigger))
- return;
- m_LateTriggers.Add(trigger);
- }
-
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs.meta deleted file mode 100644 index 4159d2bc..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: eefcc728a2660c0459b0d79230cc4dec -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs deleted file mode 100644 index b9a479b5..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class DashAbility : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs.meta deleted file mode 100644 index c246c665..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6d5a31f4a65fbba429d0a2ff3b3a49a4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs deleted file mode 100644 index 79e8fc61..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-
-/// <summary>
-/// Dodge ability
-/// </summary>
-public class DodgeAbility : AbilityBase
-{
- public DodgeAbility()
- {
-
- }
-
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs.meta deleted file mode 100644 index e7297a88..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 838e30895704e13479bfb0f5c06229e5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs deleted file mode 100644 index 7a5c00df..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class HurtAbility : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs.meta deleted file mode 100644 index 0e70d0be..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6984a899f4c7f574a8dbffe0372c6c2e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs deleted file mode 100644 index d42308db..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-
-public class IdleAbility : AbilityBase
-{
- Animator m_Animator;
-
- int m_AnimHash;
-
- /// <summary>
- /// 在Idle状态时可以切换的ability
- /// </summary>
- private List<Trigger> m_Triggers = new List<Trigger>();
-
- public IdleAbility(Animator animator, int animation)
- : base()
- {
- m_Animator = animator;
- m_AnimHash = animation;
- }
-
- public override void OnEnter()
- {
- m_Animator.CrossFadeInFixedTime(m_AnimHash, 0.25f);
- }
-
- public override void OnInit()
- {
- base.OnInit();
- }
-
- public override void OnUpdate()
- {
- foreach(var trigger in m_Triggers)
- {
- if (trigger.Update() && trigger.Swallow)
- break;
- }
-
- base.OnUpdate();
- }
-
- public void AddTrigger(Trigger trigger)
- {
- if (trigger == null || m_Triggers.Contains(trigger))
- return;
- m_Triggers.Add(trigger);
- }
-
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs.meta deleted file mode 100644 index 07d0c292..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 367ca0f7efe3fe14baf88eb3ce60a78b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs deleted file mode 100644 index e0f73efa..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs +++ /dev/null @@ -1,241 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public struct JumpAbilityConfig
-{
- public PhysicsBody body;
- public PhysicsPrimitive collider;
- public Animator animator;
-
- public float neutralJumpSpeedY; // 垂直跳跃的基础速度
- public float fowardJumpSpeedX; // 向前跳跃的水平速度
- public float backwardJumpSpeedX; // 向后跳跃的水平速度(一般来说是负值)
-
- public int animJump;
- public int animNU;
- public int animFU;
- public int animBU;
- public int animND;
- public int animFD;
- public int animBD;
- public int animJumpEnd;
-} - -public class JumpAbility : AbilityBase -{ - public enum Direction
- {
- Neutral,
- Forward,
- Backward
- } - - private enum State
- {
- Ready,
- Up,
- Down,
- End,
- } - - Direction m_Dir; - - PhysicsBody m_Body; - PhysicsPrimitive m_Collider; - - Animator m_Animator;
-
- public float m_NeutralJumpSpeedY; // 垂直跳跃的基础速度
- public float m_FowardJumpSpeedX; // 向前跳跃的水平速度
- public float m_BackwardJumpSpeedX; // 向后跳跃的水平速度(一般来说是负值)
-
- // jump motions
- int m_AnimJumpStart; // on ground - int m_AnimJumpNeutralUpwards;
- int m_AnimJumpNeutralDownwards;
- int m_AnimJumpFwdUpwards;
- int m_AnimJumpFwdDownwards;
- int m_AnimJumpBackUpwards;
- int m_AnimJumpBackDownwards;
- int m_AnimJumpEnd; // on ground again
-
- int m_CurAnim;
- State m_CurState;
- int m_CurUpMotion;
- int m_CurDownMotion;
- Vector3 m_CurInitVelocity;
-
- private List<Trigger> m_Triggers = new List<Trigger>();
-
- public JumpAbility(JumpAbilityConfig config)
- {
- m_Body = config.body;
- m_Collider = config.collider;
- m_Animator = config.animator;
- m_NeutralJumpSpeedY = config.neutralJumpSpeedY;
- m_FowardJumpSpeedX = config.fowardJumpSpeedX;
- m_BackwardJumpSpeedX = config.backwardJumpSpeedX;
- m_AnimJumpStart = config.animJump;
- m_AnimJumpNeutralUpwards = config.animNU;
- m_AnimJumpNeutralDownwards = config.animND;
- m_AnimJumpFwdUpwards = config.animFU;
- m_AnimJumpFwdDownwards = config.animFD;
- m_AnimJumpBackUpwards = config.animBU;
- m_AnimJumpBackDownwards = config.animBD;
- m_AnimJumpEnd = config.animJumpEnd; // on ground again
- }
-
- public void SetDir(Direction dir)
- {
- m_Dir = dir;
- }
-
- public override void OnEnter()
- {
- base.OnEnter();
-
- m_CurAnim = 0;
-
- switch(m_Dir)
- {
- case Direction.Neutral:
- m_CurUpMotion = m_AnimJumpNeutralUpwards;
- m_CurDownMotion = m_AnimJumpNeutralDownwards;
- m_CurInitVelocity = new Vector3(0, m_NeutralJumpSpeedY, 0);
- break;
- case Direction.Forward:
- m_CurUpMotion = m_AnimJumpFwdUpwards;
- m_CurDownMotion = m_AnimJumpFwdDownwards;
- m_CurInitVelocity = new Vector3(m_FowardJumpSpeedX, m_NeutralJumpSpeedY, 0);
- break;
- case Direction.Backward:
- m_CurUpMotion = m_AnimJumpBackUpwards;
- m_CurDownMotion = m_AnimJumpBackDownwards;
- m_CurInitVelocity = new Vector3(m_BackwardJumpSpeedX, m_NeutralJumpSpeedY, 0);
- break;
- }
-
- bool isOnGround = m_Collider.IsOnGround;
- bool isUp = m_Body.Velocity.y > 0;
- bool isDown = m_Body.Velocity.y < 0;
- bool isFreeFall = Mathf.Approximately(m_Body.Velocity.y, 0);
-
- if (isOnGround)
- m_CurState = State.Ready;
- else if (isUp)
- m_CurState = State.Up;
- else if (isDown || isFreeFall)
- m_CurState = State.Down;
- }
-
- public override void OnUpdate()
- {
- foreach (var abilityTrigger in m_Triggers)
- {
- if (abilityTrigger.Update() && abilityTrigger.Swallow)
- return;
- }
-
- AnimatorStateInfo motionInfo = m_Animator.GetCurrentAnimatorStateInfo(0);
-
- switch (m_CurState)
- {
- case State.Ready:
- if(m_CurAnim != m_AnimJumpStart)
- {
- m_Animator.CrossFade(m_AnimJumpStart, 0.2f);
- m_CurAnim = m_AnimJumpStart;
- }
- if(motionInfo.shortNameHash == m_AnimJumpStart && motionInfo.normalizedTime >= 1f)
- {
- m_Body.LocalVelocity = m_CurInitVelocity;
- m_CurState = State.Up;
- }
- break;
- case State.Up:
- if(m_CurAnim != m_CurUpMotion)
- {
- m_Animator.CrossFade(m_CurUpMotion, 0.2f);
- m_CurAnim = m_CurUpMotion;
- }
- if(m_Body.Velocity.y <= 0)
- {
- m_CurState = State.Down;
- }
- break;
- case State.Down:
- if(m_CurAnim != m_CurDownMotion)
- {
- m_Animator.CrossFade(m_CurDownMotion, 0.2f);
- m_CurAnim = m_CurDownMotion;
- }
- if(m_Collider.IsOnGround)
- {
- m_CurState = State.End;
- }
- break;
- case State.End:
- if(m_CurAnim != m_AnimJumpEnd)
- {
- m_Animator.CrossFade(m_AnimJumpEnd, 0.2f);
- m_CurAnim = m_AnimJumpEnd;
- }
- break;
- }
- }
-
- public override void OnLateUpdate()
- {
- base.OnLateUpdate();
- }
-
- /// <summary>
- /// 跳跃准备动作已经完毕
- /// </summary>
- /// <returns></returns>
- public bool IsJumpReady()
- {
- if (m_CurAnim != m_AnimJumpStart)
- return false;
-
- AnimatorStateInfo state = m_Animator.GetCurrentAnimatorStateInfo(0);
- if (state.shortNameHash == m_CurAnim && state.normalizedTime >= 1f)
- return true;
-
- return false;
- }
-
- /// <summary>
- /// 结束
- /// </summary>
- /// <returns></returns>
- public bool IsJumpDone()
- {
- if (m_CurState == State.End)
- {
- AnimatorStateInfo state = m_Animator.GetCurrentAnimatorStateInfo(0);
- return state.shortNameHash == m_AnimJumpEnd && state.normalizedTime >= 1f;
- }
-
- return false;
- }
-
- /// <summary>
- /// 着地
- /// </summary>
- /// <returns></returns>
- public bool IsJumpGround()
- {
- return m_CurState == State.End && m_Collider.IsOnGround;
- }
-
- public void AddTrigger(Trigger trigger)
- {
- if (trigger == null || m_Triggers.Contains(trigger))
- return;
- m_Triggers.Add(trigger);
- }
-
-
-}
\ No newline at end of file diff --git a/Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs.meta deleted file mode 100644 index 6c67c462..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ed5b337c63528354f8b4f2ba0a59481d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs b/Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs deleted file mode 100644 index 757cd2d1..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class MoveAbility : AbilityBase
-{
- Animator m_Animator;
- int m_AnimHash;
-
- /// <summary>
- /// 在跑动状态时可以切换的ability
- /// </summary>
- private List<Trigger> m_Triggers = new List<Trigger>();
-
- public MoveAbility(Animator animator, int animation)
- {
- m_Animator = animator;
- m_AnimHash = animation;
- }
-
- public override void OnInit()
- {
-
- }
-
- public override void OnDefend()
- {
- throw new System.NotImplementedException();
- }
-
- public override void OnEnter()
- {
- m_Animator.CrossFadeInFixedTime(m_AnimHash, 0.1f);
- }
-
- public override void OnExit()
- {
- }
-
- public override void OnHit()
- {
- }
-
- public override void OnHurt()
- {
- }
-
- public override void OnTranslate(AbilityBase to)
- {
- }
-
- public override void OnUpdate()
- {
- foreach (var abilityTrigger in m_Triggers)
- {
- if (abilityTrigger.Update() && abilityTrigger.Swallow)
- break;
- }
- }
-
- public void AddTrigger(Trigger trigger)
- {
- if (trigger == null || m_Triggers.Contains(trigger))
- return;
- m_Triggers.Add(trigger);
- }
-
-}
diff --git a/Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs.meta b/Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs.meta deleted file mode 100644 index 08b2954c..00000000 --- a/Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4581355020e27084f869d6001787e11e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: |