diff options
author | chai <chaifix@163.com> | 2020-11-16 21:08:39 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-11-16 21:08:39 +0800 |
commit | 01f06fb513dab303abeb02d7e1007e397874bcc0 (patch) | |
tree | 4df198ef7829471831fcf0c9361b773ea9501d2f /Assets/Scripts/Test/ArmorSoldierScript_States.cs | |
parent | ac2b469bd76d7d91d10894184cbddad0796ce7bc (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Test/ArmorSoldierScript_States.cs')
-rw-r--r-- | Assets/Scripts/Test/ArmorSoldierScript_States.cs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/Assets/Scripts/Test/ArmorSoldierScript_States.cs b/Assets/Scripts/Test/ArmorSoldierScript_States.cs index 04532dd2..3df583f2 100644 --- a/Assets/Scripts/Test/ArmorSoldierScript_States.cs +++ b/Assets/Scripts/Test/ArmorSoldierScript_States.cs @@ -23,17 +23,18 @@ public partial class ArmorSoldierScript : Avatar, IInteractable m_StateGroundHurt = groundHurt; m_StateAirHurt = airHurt; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // conditions - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ConditionInAir condInAir = new ConditionInAir(m_BodyCollider); - + HurtState getUp = new HurtState(m_Animator, Anim_GetUp); +
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // conditions
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ ConditionInAir condInAir = new ConditionInAir(m_BodyCollider); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // actions //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ActionSwitchState switchToIdle = new ActionSwitchState(m_StateController, idle); + ActionSwitchState switchToGetUp = new ActionSwitchState(m_StateController, getUp); Trigger trigger = null;
@@ -49,9 +50,14 @@ public partial class ArmorSoldierScript : Avatar, IInteractable // air hurt
ConditionMotionAtEnd airAtEnd = new ConditionMotionAtEnd(m_Animator, Anim_AirHurt); - trigger = new Trigger(And(airAtEnd, Not(condInAir)), switchToIdle); + trigger = new Trigger(And(airAtEnd, Not(condInAir)), switchToGetUp); airHurt.AddTrigger(trigger); + // getup + ConditionMotionAtEnd getUpEnd = new ConditionMotionAtEnd(m_Animator, Anim_GetUp); + trigger = new Trigger(getUpEnd, switchToIdle); + getUp.AddTrigger(trigger); + m_StateController.ForceStart(idle); } |