From bdf47cf0fd36a5c858575a805cca70ab623868eb Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 29 Oct 2020 19:39:42 +0800 Subject: *misc --- .../Scripts/AbilitySystem/Abilities/AbilityBase.cs | 66 ------ .../AbilitySystem/Abilities/AbilityBase.cs.meta | 11 - .../AbilitySystem/Abilities/AttackAbility.cs | 126 ----------- .../AbilitySystem/Abilities/AttackAbility.cs.meta | 11 - .../Scripts/AbilitySystem/Abilities/DashAbility.cs | 18 -- .../AbilitySystem/Abilities/DashAbility.cs.meta | 11 - .../AbilitySystem/Abilities/DodgeAbility.cs | 16 -- .../AbilitySystem/Abilities/DodgeAbility.cs.meta | 11 - .../Scripts/AbilitySystem/Abilities/HurtAbility.cs | 18 -- .../AbilitySystem/Abilities/HurtAbility.cs.meta | 11 - .../Scripts/AbilitySystem/Abilities/IdleAbility.cs | 52 ----- .../AbilitySystem/Abilities/IdleAbility.cs.meta | 11 - .../Scripts/AbilitySystem/Abilities/JumpAbility.cs | 241 --------------------- .../AbilitySystem/Abilities/JumpAbility.cs.meta | 11 - .../Scripts/AbilitySystem/Abilities/MoveAbility.cs | 68 ------ .../AbilitySystem/Abilities/MoveAbility.cs.meta | 11 - 16 files changed, 693 deletions(-) delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/AbilityBase.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/AttackAbility.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/DashAbility.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/DodgeAbility.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/HurtAbility.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/IdleAbility.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/JumpAbility.cs.meta delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs delete mode 100644 Assets/Scripts/AbilitySystem/Abilities/MoveAbility.cs.meta (limited to 'Assets/Scripts/AbilitySystem/Abilities') 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; - -/// -/// 同一个角色同一个时间只能有一个ability -/// -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() { } - - /// - /// 进入当前ability的回调 - /// - public virtual void OnEnter() { } - - /// - /// 退出当前ability的回调 - /// - public virtual void OnExit() { } - - /// - /// 当前ability的update函数 - /// - public virtual void OnUpdate() { } - - /// - /// 在物理模拟之后更新 - /// - public virtual void OnLateUpdate() { } - - /// - /// 过渡到下一个ability的回调 - /// - /// - public virtual void OnTranslate(AbilityBase to) { } - - /// - /// 检测到hitbox碰撞时的回调 - /// - public virtual void OnHit() { } - - /// - /// 检测到hurtbox碰撞时的回调 - /// - public virtual void OnHurt() { } - - /// - /// 检测到defendbox碰撞时的回调 - /// - 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(); - - /// - /// 在跑动状态时可以切换的ability - /// - private List m_Triggers = new List(); - - private List m_LateTriggers = new List(); - - /// - /// 从动画结束开始计时 - /// - 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; - - -/// -/// Dodge ability -/// -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; - - /// - /// 在Idle状态时可以切换的ability - /// - private List m_Triggers = new List(); - - 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 m_Triggers = new List(); - - 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(); - } - - /// - /// 跳跃准备动作已经完毕 - /// - /// - 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; - } - - /// - /// 结束 - /// - /// - public bool IsJumpDone() - { - if (m_CurState == State.End) - { - AnimatorStateInfo state = m_Animator.GetCurrentAnimatorStateInfo(0); - return state.shortNameHash == m_AnimJumpEnd && state.normalizedTime >= 1f; - } - - return false; - } - - /// - /// 着地 - /// - /// - 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; - - /// - /// 在跑动状态时可以切换的ability - /// - private List m_Triggers = new List(); - - 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: -- cgit v1.1-26-g67d0