From 6118fbc482417cdd44f21748fc02b093a3e0ac7b Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 6 Nov 2020 09:31:54 +0800 Subject: *misc --- Assets/Scripts/Test/SaionjiScript_Ability.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'Assets/Scripts/Test/SaionjiScript_Ability.cs') diff --git a/Assets/Scripts/Test/SaionjiScript_Ability.cs b/Assets/Scripts/Test/SaionjiScript_Ability.cs index d8233f56..665b787c 100644 --- a/Assets/Scripts/Test/SaionjiScript_Ability.cs +++ b/Assets/Scripts/Test/SaionjiScript_Ability.cs @@ -64,6 +64,8 @@ public partial class SaionjiScript : Avatar }; JumpAbility jump = new JumpAbility(jumpConfig); + AttackAbility airDash = new AttackAbility(animator, Anim_AirDash, m_Body); + AttackAbilityConfig config; //招式会绑定一个motion @@ -97,6 +99,8 @@ public partial class SaionjiScript : Avatar AttackAbility gun3 = new AttackAbility(animator, Anim_Gun3, m_Body); AttackAbility gun4 = new AttackAbility(animator, Anim_Gun4, m_Body); + AttackAbility airAttk1 = new AttackAbility(animator, Anim_AirAttack1, m_Body); + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // actions //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -124,6 +128,9 @@ public partial class SaionjiScript : Avatar ActionSwitchAbility switchToGun3 = new ActionSwitchAbility(m_AbilitySystem, gun3); ActionSwitchAbility switchToGun4 = new ActionSwitchAbility(m_AbilitySystem, gun4); + ActionSwitchAbility switchToAirDash = new ActionSwitchAbility(m_AbilitySystem, airDash); + ActionSwitchAbility switchToAirAttk1 = new ActionSwitchAbility(m_AbilitySystem, airAttk1); + ActionWipeCmdRecord wipeCmdRecord = new ActionWipeCmdRecord(); ActionEffectGhost enableGhost = new ActionEffectGhost(Effects[0] as CharacterGhostEffect); @@ -154,6 +161,8 @@ public partial class SaionjiScript : Avatar ConditionJumpDone condJumpDone = new ConditionJumpDone(jump); ConditionJumpOnGround condJumpOnGround = new ConditionJumpOnGround(jump); + ConditionInAir condInAir = new ConditionInAir(m_BodyCollider); + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // common triggers //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -217,6 +226,12 @@ public partial class SaionjiScript : Avatar move.AddTrigger(trigger); // jump ability + trigger = new Trigger(Ands(condInAir, condRightCmd, condRight2Cmd), new List { towardRight, switchToAirDash, new ActionSetVelocity(m_Body, new Vector3(25, 0, 0)), new ActionDontUseGravity(m_Body) }); + jump.AddTrigger(trigger); + trigger = new Trigger(Ands(condInAir, condLeftCmd, condLeft2Cmd), new List { towardLeft, switchToAirDash, new ActionSetVelocity(m_Body, new Vector3(-25, 0, 0)), new ActionDontUseGravity(m_Body) }); + jump.AddTrigger(trigger); + trigger = new Trigger(Ands(condInAir, condCircleCmd), new List { switchToAirAttk1, new ActionSetLocalVelocity(m_Body, new Vector3(0, 0, 0)), new ActionDontUseGravity(m_Body)}); + jump.AddTrigger(trigger); ConditionCheckJumpState condCheckJump = new ConditionCheckJumpState(jump, JumpAbility.State.None, JumpAbility.Direction.Neutral); trigger = new Trigger(And(condRightButtonHold, condCheckJump), new List { towardRight, new ActionSetVelocityX(m_Body, 4)}, TriggerOnlyOnce.Off, TriggerSwallow.Off); jump.AddTrigger(trigger); @@ -361,6 +376,13 @@ public partial class SaionjiScript : Avatar trigger = new Trigger(And(condGun4MotionRange, condLeft2Cmd), new List { switchToDash, towardLeft }); gun4.AddTrigger(trigger); + // air dash + trigger = new Trigger(new ConditionMotionAtEnd(animator, Anim_AirDash), new List { new ActionSetVelocity(m_Body, Vector3.zero), new ActionUseGravity(m_Body), toJump }); + airDash.AddTrigger(trigger); + + trigger = new Trigger(new ConditionMotionAtEnd(animator, Anim_AirAttack1), new List { new ActionSetVelocity(m_Body, Vector3.zero), new ActionUseGravity(m_Body), toJump }); + airAttk1.AddTrigger(trigger); + m_AbilitySystem.ForceStart(idle); } -- cgit v1.1-26-g67d0