summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-09-09 14:58:31 +0800
committerchai <chaifix@163.com>2021-09-09 14:58:31 +0800
commit491fab84700fd96a5140000679a11ca93349c8d1 (patch)
treec3f4e37217e161ee5ef6833e67f676a0b85bfdab /Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
parentee156b2a7254d58e646dc44f5828c7e1eb8e1b64 (diff)
*air combo
Diffstat (limited to 'Assets/Scripts/Unit/Components/UnitState/MonsterState.cs')
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/MonsterState.cs41
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();