diff options
Diffstat (limited to 'Assets/Scripts/Unit/Component')
-rw-r--r-- | Assets/Scripts/Unit/Component/UnitAnimation.cs | 12 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Component/UnitState.cs | 16 |
2 files changed, 22 insertions, 6 deletions
diff --git a/Assets/Scripts/Unit/Component/UnitAnimation.cs b/Assets/Scripts/Unit/Component/UnitAnimation.cs index 44cfb08b..bbe4eb22 100644 --- a/Assets/Scripts/Unit/Component/UnitAnimation.cs +++ b/Assets/Scripts/Unit/Component/UnitAnimation.cs @@ -233,6 +233,8 @@ public class UnitAnimation : UnitComponent ToIdle,
ToMove,
ToAttack,
+ ToJump,
+ ToAirAttack,
}
public Animator animator { get { return m_Animator; } }
@@ -325,4 +327,14 @@ public class UnitAnimation : UnitComponent m_Animator.SetTrigger(trigger.ToString());
}
+ public void AnimJump()
+ {
+ SetTrigger(ETrigger.ToJump);
+ }
+
+ public void AnimAirAttack()
+ {
+ SetTrigger(ETrigger.ToAirAttack);
+ }
+
}
diff --git a/Assets/Scripts/Unit/Component/UnitState.cs b/Assets/Scripts/Unit/Component/UnitState.cs index fd9bba00..0ad1ec58 100644 --- a/Assets/Scripts/Unit/Component/UnitState.cs +++ b/Assets/Scripts/Unit/Component/UnitState.cs @@ -45,6 +45,8 @@ public class UnitState : UnitComponent InitState();
}
+ UnitAnimation unitAnimation { get { return m_Owner.unitAnimation; } }
+
#region state param
public struct IdleParam {}
@@ -202,13 +204,16 @@ public class UnitState : UnitComponent IEnumerator Jump(JumpParam param)
{
- while(true)
+ unitAnimation.AnimJump();
+ yield return null;
+ yield return new WaitForTransitionDone(unitAnimation);
+ while (true)
{
- // 空中连击
- if(Input.GetKeyDown("j"))
+ if (unitAnimation.layers[0].playbackNomralizedTime >= 1)
+ ChangeState(EUnitState.Idle, new IdleParam());
+ if (Input.GetKeyDown("j"))
{
- SkillParam skill = new SkillParam();
- ChangeState(EUnitState.Skill, skill);
+ ChangeState(EUnitState.Skill, new SkillParam());
}
yield return null;
}
@@ -216,7 +221,6 @@ public class UnitState : UnitComponent void OnJumpExit(EUnitState next)
{
-
}
#endregion
|