diff options
author | chai <chaifix@163.com> | 2021-09-09 14:58:31 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-09-09 14:58:31 +0800 |
commit | 491fab84700fd96a5140000679a11ca93349c8d1 (patch) | |
tree | c3f4e37217e161ee5ef6833e67f676a0b85bfdab /Assets/Scripts/Unit/Components/UnitState/MonsterState.cs | |
parent | ee156b2a7254d58e646dc44f5828c7e1eb8e1b64 (diff) |
*air combo
Diffstat (limited to 'Assets/Scripts/Unit/Components/UnitState/MonsterState.cs')
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitState/MonsterState.cs | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs b/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs index db68493b..c2a581b1 100644 --- a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs +++ b/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs @@ -16,6 +16,7 @@ public class MonsterState : UnitState HitLight, HitAir, + HitInAir,
HitGround, HitFall, KnockDown, @@ -80,6 +81,8 @@ public class MonsterState : UnitState public struct RiseParam { } + public struct HitInAirParam { } + #region Idle IEnumerator Idle(IdleParam param) @@ -149,12 +152,46 @@ public class MonsterState : UnitState void OnHitAirExit(EUnitState nextState) { + }
+
+ #endregion +
+ #region HitInAir +
+ IEnumerator HitInAir(HitInAirParam param) + { + ((MonsterController)owner).FaceToFacePC(); + m_Owner.monsterAnimation.AnimHitInAir(); + yield return null; + float vy = -1f; + float g = -15.8f; + while (true) + { + bool reachEnd = m_Owner.monsterAnimation.baseLayer.playbackNormalizedTime == 1; + if (reachEnd) + { + vy += g * Time.deltaTime; + Vector3 pos = owner.transform.position; + pos.y += vy * Time.deltaTime; + if(pos.y <= 0)
+ {
+ yield return new WaitForSeconds(0.5f);
+ ChangeState(EUnitState.Rise, new RiseParam());
+ } + owner.transform.position = pos; + } + yield return null; + } } + void OnHitInAirExit(EUnitState nextState) + { + }
+
#endregion - +
#region Rise - +
IEnumerator Rise(RiseParam param) { m_Owner.monsterAnimation.AnimRise(); |