From f325841eff10ae492ce6c634d4b07cf058a068c6 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 16 Nov 2020 08:30:54 +0800 Subject: *state system --- Assets/Scripts/Test/SaionjiScript_Ability.cs | 405 --------------------------- 1 file changed, 405 deletions(-) delete mode 100644 Assets/Scripts/Test/SaionjiScript_Ability.cs (limited to 'Assets/Scripts/Test/SaionjiScript_Ability.cs') diff --git a/Assets/Scripts/Test/SaionjiScript_Ability.cs b/Assets/Scripts/Test/SaionjiScript_Ability.cs deleted file mode 100644 index 5fc92f62..00000000 --- a/Assets/Scripts/Test/SaionjiScript_Ability.cs +++ /dev/null @@ -1,405 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public partial class SaionjiScript : Avatar -{ - - ConditionBase Not(ConditionBase cond) - { - return new ConditionNot(cond); - } - - ConditionBase And(ConditionBase c1, ConditionBase c2) - { - return new ConditionAnd(c1, c2); - } - - ConditionBase Ands(params ConditionBase[] cond) - { - List conditions = new List(); - for(int i = 0;i < cond.Length; ++i) - { - conditions.Add(cond[i]); - } - ConditionMultiAnd and = new ConditionMultiAnd(conditions); - return and; - } - - ConditionBase Or(ConditionBase c1, ConditionBase c2) - { - return new ConditionOr(c1,c2); - } - - /// - /// 设置abilities - /// - void SetupAbilities() - { - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // abilities - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - IdleAbility idle = new IdleAbility(animator, Anim_Idle); - - MoveAbility move = new MoveAbility(animator, Anim_Run); - MoveAbility dash = new MoveAbility(animator, Anim_DashWithSword); - - JumpAbilityConfig jumpConfig = new JumpAbilityConfig - { - 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, - }; - JumpAbility jump = new JumpAbility(jumpConfig); - - AttackAbility airDash = new AttackAbility(animator, Anim_AirDash, m_Body); - - AttackAbilityConfig config; - - //招式会绑定一个motion - HitDefination hitDef = new HitDefination - { - }; - AttackAbility attk1 = new AttackAbility(animator, Anim_LightAttack1, m_Body); - attk1.AddHitDefination(hitDef); - AttackAbility attk2 = new AttackAbility(animator, Anim_LightAttack2, m_Body); - attk2.AddHitDefination(hitDef); - AttackAbility attk3 = new AttackAbility(animator, Anim_LightAttack3, m_Body); - attk3.AddHitDefination(hitDef); - AttackAbility attk4 = new AttackAbility(animator, Anim_LightAttack4, m_Body); - attk4.AddHitDefination(hitDef); - AttackAbility attk5 = new AttackAbility(animator, Anim_LightAttack5, m_Body); - attk5.AddHitDefination(hitDef); - AttackAbility attkRush = new AttackAbility(animator, Anim_LightAttackRush, m_Body); - - config = new AttackAbilityConfig() { - animator = this.animator, - body = this.m_Body, - motion = Anim_SideKick, - velocity = new Vector3(20, 1.5f, 0) - }; - AttackAbility sideKick = new AttackAbility(config); - - AttackAbility sideKickRush = new AttackAbility(animator, Anim_SideKickRush, m_Body); - AttackAbility superKick = new AttackAbility(animator, Anim_SuperKick, m_Body); - AttackAbility gun1 = new AttackAbility(animator, Anim_Gun1, m_Body); - AttackAbility gun2 = new AttackAbility(animator, Anim_Gun2, m_Body); - 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); - hitDef = new HitDefination - { - hurtAddForce = new Vector3(1000,2000,0) - }; - 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_AbilitySystem, jump); - ActionJumpForward toJumpForward = new ActionJumpForward(m_AbilitySystem, jump); - - ActionSwitchAbility switchToMove = new ActionSwitchAbility(m_AbilitySystem, move); - ActionSwitchAbility switchToIdle = new ActionSwitchAbility(m_AbilitySystem, idle); - ActionSwitchAbility switchToAttk1 = new ActionSwitchAbility(m_AbilitySystem, attk1); - ActionSwitchAbility switchToAttk2 = new ActionSwitchAbility(m_AbilitySystem, attk2); - ActionSwitchAbility switchToAttk3 = new ActionSwitchAbility(m_AbilitySystem, attk3); - ActionSwitchAbility switchToAttk4 = new ActionSwitchAbility(m_AbilitySystem, attk4); - ActionSwitchAbility switchToAttk5 = new ActionSwitchAbility(m_AbilitySystem, attk5); - ActionSwitchAbility switchToAttkRush = new ActionSwitchAbility(m_AbilitySystem, attkRush); - ActionSwitchAbility switchToSideKick = new ActionSwitchAbility(m_AbilitySystem, sideKick); - ActionSwitchAbility switchToSideKickRush = new ActionSwitchAbility(m_AbilitySystem, sideKickRush); - ActionSwitchAbility switchToDash = new ActionSwitchAbility(m_AbilitySystem, dash); - ActionSwitchAbility switchToSuperKick = new ActionSwitchAbility(m_AbilitySystem, superKick); - ActionSwitchAbility switchToGun1 = new ActionSwitchAbility(m_AbilitySystem, gun1); - ActionSwitchAbility switchToGun2 = new ActionSwitchAbility(m_AbilitySystem, gun2); - 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); - 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); - - 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; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // ability setup - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - // idle ability - 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(condRightButtonHold, new List { switchToMove, towardRight }); - idle.AddTrigger(trigger); - trigger = new Trigger(condLeftButtonHold, 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 ability - //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 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), 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, 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); - 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(condJumpOnGround, new ActionSetVelocity(m_Body, Vector3.zero), TriggerOnlyOnce.On, 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 ability - 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 abilities - 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 - ConditionAttkExpireTime condSuperKickExpireTime = new ConditionAttkExpireTime(superKick, expireTime); - trigger = new Trigger(condSuperKickExpireTime, switchToIdle); - 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_AbilitySystem.ForceStart(idle); - } - -} \ No newline at end of file -- cgit v1.1-26-g67d0