diff options
Diffstat (limited to 'Assets/Scripts/Test/SaionjiScript_Ability.cs')
-rw-r--r-- | Assets/Scripts/Test/SaionjiScript_Ability.cs | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/Assets/Scripts/Test/SaionjiScript_Ability.cs b/Assets/Scripts/Test/SaionjiScript_Ability.cs index c3fa94ce..10f358e4 100644 --- a/Assets/Scripts/Test/SaionjiScript_Ability.cs +++ b/Assets/Scripts/Test/SaionjiScript_Ability.cs @@ -19,6 +19,18 @@ public partial class SaionjiScript : MonoBehaviour return new ConditionAnd(c1, c2);
}
+
+ ConditionBase Ands(params ConditionBase[] cond)
+ {
+ List<ConditionBase> conditions = new List<ConditionBase>();
+ 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);
@@ -42,8 +54,8 @@ public partial class SaionjiScript : MonoBehaviour jumpConfig.collider = m_BodyCollider;
jumpConfig.body = m_Body;
jumpConfig.neutralJumpSpeedY = 10f;
- jumpConfig.fowardJumpSpeedX = 1f;
- jumpConfig.backwardJumpSpeedX = -1f;
+ jumpConfig.fowardJumpSpeedX = 5f;
+ jumpConfig.backwardJumpSpeedX = -5f;
jumpConfig.animJump = Anim_JumpStart;
jumpConfig.animJumpEnd = Anim_JumpEnd;
jumpConfig.animNU = Anim_JumpUp;
@@ -83,6 +95,7 @@ public partial class SaionjiScript : MonoBehaviour 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);
@@ -114,6 +127,7 @@ public partial class SaionjiScript : MonoBehaviour 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);
@@ -128,6 +142,7 @@ public partial class SaionjiScript : MonoBehaviour ConditionHit condIsHit = new ConditionHit(this);
ConditionJumpDone condJumpDone = new ConditionJumpDone(jump);
+ ConditionJumpOnGround condJumpOnGround = new ConditionJumpOnGround(jump);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// common triggers
@@ -142,7 +157,7 @@ public partial class SaionjiScript : MonoBehaviour ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// idle ability
- trigger = new Trigger(condTriangleCmd, toJump) ;
+ trigger = new Trigger(condUpCmd, toJump) ;
idle.AddTrigger(trigger);
trigger = new Trigger(And(condTowardRight, condDRC), new List<ActionBase> { wipeCmdRecord, switchToSuperKick });
idle.AddTrigger(trigger);
@@ -166,6 +181,8 @@ public partial class SaionjiScript : MonoBehaviour idle.AddTrigger(triggerTurnLeft);
// move ability
+ trigger = new Trigger(Or(Ands(condRightButtonHold, condTowardRight, condUpCmd), Ands(condLeftButtonHold, condTowardLeft, condUpCmd)), toJumpForward);
+ move.AddTrigger(trigger);
trigger = new Trigger(And(condTowardRight, And(condRightCmd, condRight2Cmd)), new List<ActionBase> { wipeCmdRecord, switchToDash, });
move.AddTrigger(trigger);
trigger = new Trigger(And(condTowardLeft, And(condLeftCmd, condLeft2Cmd)), new List<ActionBase> { wipeCmdRecord, switchToDash });
@@ -187,8 +204,10 @@ public partial class SaionjiScript : MonoBehaviour trigger = new Trigger(condCrossCmd, switchToSideKick);
move.AddTrigger(trigger);
- // jump ability
- trigger = new Trigger(condJumpDone, switchToIdle);
+ // jump ability
+ trigger = new Trigger(condJumpOnGround, new ActionSetVelocity(m_Body, Vector3.zero), TriggerOnlyOnce.On, TriggerSwallow.Off);
+ jump.AddTrigger(trigger);
+ trigger = new Trigger(condJumpDone, switchToIdle);
jump.AddTrigger(trigger);
// dash ability
|