using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public partial class SaionjiScript : Avatar
{
///
/// 设置states
///
void SetupStates()
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// states
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IdleState idle = new IdleState(animator, Anim_Idle);
MoveState move = new MoveState(animator, Anim_Run);
MoveState dash = new MoveState(animator, Anim_DashWithSword);
JumpStateConfig jumpConfig = new JumpStateConfig
{
animator = animator,
collider = m_BodyCollider,
body = m_Body,
neutralJumpSpeedY = 13f,
fowardJumpSpeedX = 5f,
backwardJumpSpeedX = -5f,
animJump = Anim_JumpStart,
animJumpEnd = Anim_JumpEnd,
animNU = Anim_JumpUp,
animND = Anim_JumpDown,
animFU = Anim_JumpUp,
animFD = Anim_JumpDown,
animBU = Anim_JumpUp,
animBD = Anim_JumpDown,
skipStart = true,
};
JumpState jump = new JumpState(jumpConfig);
AttackState airDash = new AttackState(animator, Anim_AirDash, m_Body);
AttackStateConfig config;
//招式会绑定一个motion
HitDefination hitDef = new HitDefination
{
type = HitType.Air,
hurtAddForce = new Vector3(0, 20000, 0),
sparkName = "Bullet_WhiteSpark",
sparkHostType = HitSparkHost.Center
};
AttackState attk1 = new AttackState(animator, Anim_LightAttack1, m_Body);
attk1.AddHitDefination(hitDef);
AttackState attk2 = new AttackState(animator, Anim_LightAttack2, m_Body);
attk2.AddHitDefination(hitDef);
AttackState attk3 = new AttackState(animator, Anim_LightAttack3, m_Body);
attk3.AddHitDefination(hitDef);
AttackState attk4 = new AttackState(animator, Anim_LightAttack4, m_Body);
attk4.AddHitDefination(hitDef);
AttackState attk5 = new AttackState(animator, Anim_LightAttack5, m_Body);
attk5.AddHitDefination(hitDef);
AttackState attkRush = new AttackState(animator, Anim_LightAttackRush, m_Body);
config = new AttackStateConfig() {
animator = this.animator,
body = this.m_Body,
motion = Anim_SideKick,
velocity = new Vector3(20, 1.5f, 0)
};
AttackState sideKick = new AttackState(config);
AttackState sideKickRush = new AttackState(animator, Anim_SideKickRush, m_Body);
AttackState superKick = new AttackState(animator, Anim_SuperKick, m_Body);
AttackState gun1 = new AttackState(animator, Anim_Gun1, m_Body);
AttackState gun2 = new AttackState(animator, Anim_Gun2, m_Body);
AttackState gun3 = new AttackState(animator, Anim_Gun3, m_Body);
AttackState gun4 = new AttackState(animator, Anim_Gun4, m_Body);
AttackState airAttk1 = new AttackState(animator, Anim_AirAttack1, m_Body);
hitDef = new HitDefination
{
type = HitType.Air,
hurtAddForce = new Vector3(0,10000,0),
sparkName = "Bullet_WhiteSpark",
sparkHostType = HitSparkHost.Center
};
airAttk1.AddHitDefination(hitDef);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// actions
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ActionTurn180 turn180 = new ActionTurn180(this.transform);
ActionTowardLeft towardLeft = new ActionTowardLeft(this.transform);
ActionTowardRight towardRight = new ActionTowardRight(this.transform);
ActionJump toJump = new ActionJump(m_StateController, jump);
ActionJumpForward toJumpForward = new ActionJumpForward(m_StateController, jump);
ActionSwitchState switchToMove = new ActionSwitchState(m_StateController, move);
ActionSwitchState switchToIdle = new ActionSwitchState(m_StateController, idle);
ActionSwitchState switchToAttk1 = new ActionSwitchState(m_StateController, attk1);
ActionSwitchState switchToAttk2 = new ActionSwitchState(m_StateController, attk2);
ActionSwitchState switchToAttk3 = new ActionSwitchState(m_StateController, attk3);
ActionSwitchState switchToAttk4 = new ActionSwitchState(m_StateController, attk4);
ActionSwitchState switchToAttk5 = new ActionSwitchState(m_StateController, attk5);
ActionSwitchState switchToAttkRush = new ActionSwitchState(m_StateController, attkRush);
ActionSwitchState switchToSideKick = new ActionSwitchState(m_StateController, sideKick);
ActionSwitchState switchToSideKickRush = new ActionSwitchState(m_StateController, sideKickRush);
ActionSwitchState switchToDash = new ActionSwitchState(m_StateController, dash);
ActionSwitchState switchToSuperKick = new ActionSwitchState(m_StateController, superKick);
ActionSwitchState switchToGun1 = new ActionSwitchState(m_StateController, gun1);
ActionSwitchState switchToGun2 = new ActionSwitchState(m_StateController, gun2);
ActionSwitchState switchToGun3 = new ActionSwitchState(m_StateController, gun3);
ActionSwitchState switchToGun4 = new ActionSwitchState(m_StateController, gun4);
ActionSwitchState switchToAirDash = new ActionSwitchState(m_StateController, airDash);
ActionSwitchState switchToAirAttk1 = new ActionSwitchState(m_StateController, airAttk1);
ActionWipeCmdRecord wipeCmdRecord = new ActionWipeCmdRecord();
ActionEffectGhost enableGhost = new ActionEffectGhost(Effects[0] as CharacterGhostEffect);
ActionDisableGhost disableGhost = new ActionDisableGhost(Effects[0] as CharacterGhostEffect);
ActionActivateAfterImage enableAfterImage = new ActionActivateAfterImage(true);
ActionActivateAfterImage disaleAfterImage = new ActionActivateAfterImage(false);
ActionAfterImageInterval smallAfterImageInterval = new ActionAfterImageInterval(2);
ActionAfterImageInterval midiumAfterImageInterval = new ActionAfterImageInterval(5);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// conditions
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ConditionCommand condLeftCmd = new ConditionCommand(GamepadButton.Left);
ConditionCommand condRightCmd = new ConditionCommand(GamepadButton.Right);
ConditionNoMoveButtonHold condNoMoveButtonHold = new ConditionNoMoveButtonHold();
ConditionButtonHold condRightButtonHold = new ConditionButtonHold(GamepadButton.Right);
ConditionButtonHold condLeftButtonHold = new ConditionButtonHold(GamepadButton.Left);
ConditionCommand condUpCmd = new ConditionCommand(GamepadButton.Up);
ConditionCommand condTriangleCmd = new ConditionCommand(GamepadButton.Triangle);
ConditionCommand condCircleCmd = new ConditionCommand(GamepadButton.Circle);
ConditionCommand condCrossCmd = new ConditionCommand(GamepadButton.Cross);
ConditionCommand condSquareCmd = new ConditionCommand(GamepadButton.Square);
ConditionTowardLeft condTowardLeft = new ConditionTowardLeft(this.transform);
ConditionTowardRight condTowardRight = new ConditionTowardRight(this.transform);
ConditionCommandSeq condRight2Cmd = new ConditionCommandSeq(new List{GamepadButton.Right, GamepadButton.Right }, 0.8f);
ConditionCommandSeq condLeft2Cmd = new ConditionCommandSeq(new List { GamepadButton.Left, GamepadButton.Left }, 0.8f);
ConditionCommandSeq condDRC = new ConditionCommandSeq(new List { GamepadButton.Down, GamepadButton.Right, GamepadButton.Circle}, 1f);
ConditionCommandSeq condDLC = new ConditionCommandSeq(new List { GamepadButton.Down, GamepadButton.Left, GamepadButton.Circle }, 1f);
ConditionCommandSeq condDR = new ConditionCommandSeq(new List { GamepadButton.Down, GamepadButton.Right}, 1f);
ConditionCommandSeq condDL = new ConditionCommandSeq(new List { GamepadButton.Down, GamepadButton.Left}, 1f);
ConditionHit condIsHit = new ConditionHit(this);
ConditionJumpDone condJumpDone = new ConditionJumpDone(jump);
ConditionJumpOnGround condJumpOnGround = new ConditionJumpOnGround(jump);
ConditionInAir condInAir = new ConditionInAir(m_BodyCollider);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// common triggers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Trigger triggerTurnRight = new Trigger(And(condRightCmd, Not(condTowardRight)), towardRight);
Trigger triggerTurnLeft = new Trigger(And(condLeftCmd, Not(condTowardLeft)), towardLeft);
Trigger trigger = null;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// state setup
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// idle state
trigger = new Trigger(condTriangleCmd, toJump) ;
idle.AddTrigger(trigger);
trigger = new Trigger(And(condTowardRight, condDRC), new List { wipeCmdRecord, switchToSuperKick });
idle.AddTrigger(trigger);
trigger = new Trigger(And(condTowardLeft, condDLC), new List { wipeCmdRecord, switchToSuperKick });
idle.AddTrigger(trigger);
trigger = new Trigger(And(condTowardRight, And(condRightCmd, condRight2Cmd)), new List { wipeCmdRecord , switchToDash });
idle.AddTrigger(trigger);
trigger = new Trigger(And(condTowardLeft, And(condLeftCmd, condLeft2Cmd)), new List { wipeCmdRecord , switchToDash });
idle.AddTrigger(trigger);
trigger = new Trigger(And(condRightButtonHold, Not(condDR)), new List { switchToMove, towardRight });
idle.AddTrigger(trigger);
trigger = new Trigger(And(condLeftButtonHold, Not(condDL)), new List { switchToMove, towardLeft });
idle.AddTrigger(trigger);
trigger = new Trigger(condCircleCmd, switchToAttk1);
idle.AddTrigger(trigger);
trigger = new Trigger(condCrossCmd, switchToSideKick);
idle.AddTrigger(trigger);
trigger = new Trigger(condSquareCmd, switchToGun1);
idle.AddTrigger(trigger);
idle.AddTrigger(triggerTurnRight);
idle.AddTrigger(triggerTurnLeft);
// move state
//trigger = new Trigger(Or(Ands(condRightButtonHold, condTowardRight, condTriangleCmd), Ands(condLeftButtonHold, condTowardLeft, condTriangleCmd)), toJumpForward);
//move.AddTrigger(trigger);
trigger = new Trigger(condTriangleCmd, toJump);
move.AddTrigger(trigger);
trigger = new Trigger(And(condTowardRight, And(condRightCmd, condRight2Cmd)), new List { wipeCmdRecord, switchToDash, });
move.AddTrigger(trigger);
trigger = new Trigger(And(condTowardLeft, And(condLeftCmd, condLeft2Cmd)), new List { wipeCmdRecord, switchToDash });
move.AddTrigger(trigger);
trigger = new Trigger(And(condRightButtonHold, condCircleCmd), new List { towardRight, switchToAttkRush });
move.AddTrigger(trigger);
trigger = new Trigger(And(condLeftButtonHold, condCircleCmd), new List { towardLeft, switchToAttkRush });
move.AddTrigger(trigger);
trigger = new Trigger(And(condRightButtonHold, condCrossCmd), new List { towardRight, switchToSideKickRush });
move.AddTrigger(trigger);
trigger = new Trigger(And(condLeftButtonHold, condCrossCmd), new List { towardLeft, switchToSideKickRush });
move.AddTrigger(trigger);
trigger = new Trigger(And(condTowardRight, Not(condRightButtonHold)), switchToIdle);
move.AddTrigger(trigger);
trigger = new Trigger(And(condTowardLeft, Not(condLeftButtonHold)), switchToIdle);
move.AddTrigger(trigger);
trigger = new Trigger(condCircleCmd, switchToAttk1);
move.AddTrigger(trigger);
trigger = new Trigger(condCrossCmd, switchToSideKick);
move.AddTrigger(trigger);
// jump state
trigger = new Trigger(condJumpOnGround, new ActionSetVelocity(m_Body, Vector3.zero), TriggerOnlyOnce.On, TriggerSwallow.Off);
jump.AddTrigger(trigger);
trigger = new Trigger(Ands(condInAir, condRightCmd, condRight2Cmd), new List { towardRight, switchToAirDash, new ActionSetVelocity(m_Body, new Vector3(25, 0, 0)), new ActionDontUseGravity(m_Body), enableAfterImage, midiumAfterImageInterval});
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), enableAfterImage, midiumAfterImageInterval });
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), enableAfterImage, smallAfterImageInterval});
jump.AddTrigger(trigger);
ConditionCheckJumpState condCheckJump = new ConditionCheckJumpState(jump, JumpState.Stage.None, JumpState.Direction.Neutral);
trigger = new Trigger(And(condRightButtonHold, condCheckJump), new List { towardRight, new ActionSetVelocityX(m_Body, 4)}, TriggerOnlyOnce.Off, TriggerSwallow.Off);
jump.AddTrigger(trigger);
trigger = new Trigger(And(condLeftButtonHold, condCheckJump), new List { towardLeft, new ActionSetVelocityX(m_Body,-4) }, TriggerOnlyOnce.Off, TriggerSwallow.Off);
jump.AddTrigger(trigger);
//trigger = new Trigger(Ands(condCheckJump, Not(condRightButtonHold), Not(condLeftButtonHold)), new ActionSetVelocityX(m_Body, 0), TriggerOnlyOnce.Off, TriggerSwallow.Off);
//jump.AddTrigger(trigger);
trigger = new Trigger(Ands(new ConditionJumpDone(jump, 0.4f), condJumpOnGround, Or(condRightButtonHold, condLeftButtonHold)), switchToMove);
jump.AddTrigger(trigger);
trigger = new Trigger(condJumpDone, switchToIdle);
jump.AddTrigger(trigger);
// dash state
trigger = new Trigger(And(new ConditionMotionRange(animator, 0.5f, 1.0f), condCircleCmd), switchToAttk1);
dash.AddTrigger(trigger);
trigger = new Trigger(new ConditionMotionAtEnd(animator, Anim_DashWithSword), switchToIdle);
dash.AddTrigger(trigger);
// attack states
float expireTime = 0.3f;
// sword normal attack
ConditionMotionAtEnd condAttk1AtEnd = new ConditionMotionAtEnd(animator, Anim_LightAttack1);
trigger = new Trigger(And(condAttk1AtEnd, condCircleCmd), switchToAttk2);
attk1.AddTrigger(trigger);
ConditionAttkExpireTime condAttk1ExpireTime = new ConditionAttkExpireTime(attk1, expireTime);
trigger = new Trigger(condAttk1ExpireTime, switchToIdle);
attk1.AddTrigger(trigger);
attk1.AddTrigger(triggerTurnRight);
attk1.AddTrigger(triggerTurnLeft);
//trigger = new Trigger(condIsHit, new ActionLog("hit!!!"));
//attk1.AddLateTrigger(trigger);
//ConditionMotionRange condAttkRushGhostRange = new ConditionMotionRange(animator, 0f, 0.8f);
//trigger = new Trigger(condAttkRushGhostRange, enableGhost, false);
//attkRush.AddTrigger(trigger);
//ConditionMotionRange condAttkRushGhostDisableRange = new ConditionMotionRange(animator, 0.8f, 10f);
//trigger = new Trigger(condAttkRushGhostDisableRange, disableGhost, false);
//attkRush.AddTrigger(trigger);
ConditionMotionRange condAttkRushAtRange = new ConditionMotionRange(animator, 0.5f, 1f);
trigger = new Trigger(And(condAttkRushAtRange, condCircleCmd), switchToAttk2);
attkRush.AddTrigger(trigger);
//trigger = new Trigger(And(And(condAttkRushAtRange, condTowardRight), condRightCmd), switchToAttkRush);
//attkRush.AddTrigger(trigger);
//trigger = new Trigger(And(And(condAttkRushAtRange, condTowardLeft), condLeftCmd), switchToAttkRush);
//attkRush.AddTrigger(trigger);
ConditionAttkExpireTime condAttkRushExpireTime = new ConditionAttkExpireTime(attkRush, expireTime);
trigger = new Trigger(condAttkRushExpireTime, switchToIdle);
attkRush.AddTrigger(trigger);
//attkRush.AddTrigger(triggerTurnRight);
//attkRush.AddTrigger(triggerTurnLeft);
ConditionMotionAtEnd condAttk2AtEnd = new ConditionMotionAtEnd(animator, Anim_LightAttack2);
trigger = new Trigger(And(condAttk2AtEnd, condCircleCmd), switchToAttk3);
attk2.AddTrigger(trigger);
ConditionAttkExpireTime condAttk2ExpireTime = new ConditionAttkExpireTime(attk2, expireTime);
trigger = new Trigger(condAttk2ExpireTime, switchToIdle);
attk2.AddTrigger(trigger);
attk2.AddTrigger(triggerTurnRight);
attk2.AddTrigger(triggerTurnLeft);
ConditionMotionAtEnd condAttk3AtEnd = new ConditionMotionAtEnd(animator, Anim_LightAttack3);
trigger = new Trigger(And(condAttk3AtEnd, condCircleCmd), switchToAttk4);
attk3.AddTrigger(trigger);
ConditionAttkExpireTime condAttk3ExpireTime = new ConditionAttkExpireTime(attk3, expireTime);
trigger = new Trigger(condAttk3ExpireTime, switchToIdle);
attk3.AddTrigger(trigger);
attk3.AddTrigger(triggerTurnRight);
attk3.AddTrigger(triggerTurnLeft);
ConditionMotionAtEnd condAttk4AtEnd = new ConditionMotionAtEnd(animator, Anim_LightAttack4);
trigger = new Trigger(And(condAttk4AtEnd, condCircleCmd), switchToAttk5);
attk4.AddTrigger(trigger);
ConditionAttkExpireTime condAttk4ExpireTime = new ConditionAttkExpireTime(attk4, expireTime);
trigger = new Trigger(condAttk4ExpireTime, switchToIdle);
attk4.AddTrigger(trigger);
attk4.AddTrigger(triggerTurnRight);
attk4.AddTrigger(triggerTurnLeft);
ConditionMotionAtEnd condAttk5AtEnd = new ConditionMotionAtEnd(animator, Anim_LightAttack5);
trigger = new Trigger(condAttk5AtEnd, switchToIdle);
attk5.AddTrigger(trigger);
ConditionAttkExpireTime condAttk5ExpireTime = new ConditionAttkExpireTime(attk5, expireTime);
trigger = new Trigger(condAttk5ExpireTime, switchToIdle);
attk5.AddTrigger(trigger);
attk5.AddTrigger(triggerTurnRight);
attk5.AddTrigger(triggerTurnLeft);
// side kick normal
ConditionMotionAtEnd condKickMotionEnd = new ConditionMotionAtEnd(animator, Anim_SideKick);
trigger = new Trigger(condKickMotionEnd, new ActionSetVelocity(m_Body, Vector3.zero), TriggerOnlyOnce.On, TriggerSwallow.Off);
sideKick.AddTrigger(trigger);
ConditionAttkExpireTime condSideKickExpireTime = new ConditionAttkExpireTime(sideKick, expireTime);
trigger = new Trigger(condSideKickExpireTime, switchToIdle);
sideKick.AddTrigger(trigger);
// side kick rush
ConditionAttkExpireTime condSideKickRushExpireTime = new ConditionAttkExpireTime(sideKickRush, expireTime);
trigger = new Trigger(condSideKickRushExpireTime, switchToIdle);
sideKickRush.AddTrigger(trigger);
ConditionMotionRange condSideKickRushMotionRange = new ConditionMotionRange(animator, 0.5f, 10f);
trigger = new Trigger(And(condSideKickRushMotionRange, And(condRightButtonHold, condCircleCmd)), new List { towardRight, switchToAttkRush });
sideKickRush.AddTrigger(trigger);
trigger = new Trigger(And(condSideKickRushMotionRange, And(condLeftButtonHold, condCircleCmd)), new List { towardLeft, switchToAttkRush });
sideKickRush.AddTrigger(trigger);
// super kick combo
ConditionMotionRange condSuperKickComboBegin = new ConditionMotionRange(animator, 0f, 1f);
trigger = new Trigger(condSuperKickComboBegin, new ActionDontUseGravity(m_Body));
superKick.AddTrigger(trigger);
ConditionAttkExpireTime condSuperKickExpireTime = new ConditionAttkExpireTime(superKick, expireTime);
trigger = new Trigger(condSuperKickExpireTime, new List < ActionBase >() { switchToIdle , new ActionUseGravity(m_Body) });
superKick.AddTrigger(trigger);
// gun normal
ConditionMotionAtEnd condGun1AtEnd = new ConditionMotionAtEnd(animator, Anim_Gun1);
trigger = new Trigger(And(condGun1AtEnd, condSquareCmd), switchToGun2);
gun1.AddTrigger(trigger);
ConditionAttkExpireTime condGun1ExpireTime = new ConditionAttkExpireTime(gun1, expireTime);
trigger = new Trigger(condGun1ExpireTime, switchToIdle);
gun1.AddTrigger(trigger);
ConditionMotionAtEnd condGun2AtEnd = new ConditionMotionAtEnd(animator, Anim_Gun2);
trigger = new Trigger(And(condGun2AtEnd, condSquareCmd), switchToGun3);
gun2.AddTrigger(trigger);
ConditionAttkExpireTime condGun2ExpireTime = new ConditionAttkExpireTime(gun2, expireTime);
trigger = new Trigger(condGun2ExpireTime, switchToIdle);
gun2.AddTrigger(trigger);
ConditionMotionAtEnd condGun3AtEnd = new ConditionMotionAtEnd(animator, Anim_Gun3);
trigger = new Trigger(And(condGun3AtEnd, condSquareCmd), switchToGun4);
gun3.AddTrigger(trigger);
ConditionAttkExpireTime condGun3ExpireTime = new ConditionAttkExpireTime(gun3, expireTime);
trigger = new Trigger(condGun3ExpireTime, switchToIdle);
gun3.AddTrigger(trigger);
ConditionAttkExpireTime condGun4ExpireTime = new ConditionAttkExpireTime(gun4, expireTime);
trigger = new Trigger(condGun4ExpireTime, switchToIdle);
gun4.AddTrigger(trigger);
ConditionMotionRange condGun4MotionRange = new ConditionMotionRange(animator, 0.6f, 1f);
trigger = new Trigger(And(condGun4MotionRange, condRight2Cmd), new List { switchToDash, towardRight });
gun4.AddTrigger(trigger);
trigger = new Trigger(And(condGun4MotionRange, condLeft2Cmd), new List { switchToDash, towardLeft });
gun4.AddTrigger(trigger);
// air dash
trigger = new Trigger(new ConditionMotionRange(animator, 0.8f, 1f), disaleAfterImage, TriggerOnlyOnce.On, TriggerSwallow.Off);
airDash.AddTrigger(trigger);
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 ConditionMotionRange(animator, 0.18f, 1f), new ActionPlayEffect("Air_Attk1", this, new Vector3(-136.805f, 0, 0), new Vector3(0.8f, 0.8f, 0.8f)), TriggerOnlyOnce.On, TriggerSwallow.Off);
airAttk1.AddTrigger(trigger);
trigger = new Trigger(new ConditionMotionRange(animator, 0.6f,1f), disaleAfterImage, TriggerOnlyOnce.On, TriggerSwallow.Off);
airAttk1.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_StateController.ForceStart(idle);
}
}