summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Test/SaionjiScript_Ability.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-17 15:39:34 +0800
committerchai <chaifix@163.com>2020-10-17 15:39:34 +0800
commitfee35151213939d61d2dbd9d6a0ba71ac93b91cf (patch)
tree3aa986e27f36e47242b9a12b7e7b6a8d5d8c0fc8 /Assets/Scripts/Test/SaionjiScript_Ability.cs
parentf99c4d56cf95c563e95d3965ffd6d8ba33b660ee (diff)
+ 连击测试
Diffstat (limited to 'Assets/Scripts/Test/SaionjiScript_Ability.cs')
-rw-r--r--Assets/Scripts/Test/SaionjiScript_Ability.cs55
1 files changed, 52 insertions, 3 deletions
diff --git a/Assets/Scripts/Test/SaionjiScript_Ability.cs b/Assets/Scripts/Test/SaionjiScript_Ability.cs
index 4b8f4693..1b248751 100644
--- a/Assets/Scripts/Test/SaionjiScript_Ability.cs
+++ b/Assets/Scripts/Test/SaionjiScript_Ability.cs
@@ -24,10 +24,59 @@ public partial class SaionjiScript : MonoBehaviour
/// </summary>
void SetupAbilities()
{
- IdleAbility idleAbility = new IdleAbility(Anim_Idle);
+ IdleAbility idle = new IdleAbility(animator, Anim_Idle);
+ MoveAbility move = new MoveAbility(animator, Anim_Run);
+ AttackAbility attk1 = new AttackAbility(animator, Anim_LightAttack1);
+ AttackAbility attk2 = new AttackAbility(animator, Anim_LightAttack2);
+ AttackAbility attk3 = new AttackAbility(animator, Anim_LightAttack3);
+ AttackAbility attk4 = new AttackAbility(animator, Anim_LightAttack4);
+ AttackAbility attk5 = new AttackAbility(animator, Anim_LightAttack5);
+ 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);
- m_AbilitySystem.AddAbility(idleAbility);
- }
+ ConditionCommand condRightCmd = new ConditionCommand(GamepadButton.Right);
+ ConditionNoMoveButtonHold condNoMoveButtonHold = new ConditionNoMoveButtonHold();
+ ConditionCommand condCircleCmd = new ConditionCommand(GamepadButton.Circle);
+
+ Trigger trigger = null;
+
+ trigger = new Trigger(condRightCmd, switchToMove);
+ idle.AddTrigger(trigger);
+ trigger = new Trigger(condCircleCmd, switchToAttk1);
+ idle.AddTrigger(trigger);
+
+ trigger = new Trigger(condNoMoveButtonHold, switchToIdle);
+ move.AddTrigger(trigger);
+ trigger = new Trigger(condCircleCmd, switchToAttk1);
+ move.AddTrigger(trigger);
+
+ ConditionAnimAtEnd condAttk1AtEnd = new ConditionAnimAtEnd(animator, Anim_LightAttack1);
+ trigger = new Trigger(And(condAttk1AtEnd, condCircleCmd), switchToAttk2);
+ attk1.AddTrigger(trigger);
+
+ ConditionAnimAtEnd condAttk2AtEnd = new ConditionAnimAtEnd(animator, Anim_LightAttack2);
+ trigger = new Trigger(And(condAttk2AtEnd, condCircleCmd), switchToAttk3);
+ attk2.AddTrigger(trigger);
+
+ ConditionAnimAtEnd condAttk3AtEnd = new ConditionAnimAtEnd(animator, Anim_LightAttack3);
+ trigger = new Trigger(And(condAttk3AtEnd, condCircleCmd), switchToAttk4);
+ attk3.AddTrigger(trigger);
+
+ ConditionAnimAtEnd condAttk4AtEnd = new ConditionAnimAtEnd(animator, Anim_LightAttack4);
+ trigger = new Trigger(And(condAttk4AtEnd, condCircleCmd), switchToAttk5);
+ attk4.AddTrigger(trigger);
+
+ ConditionAnimAtEnd condAttk5AtEnd = new ConditionAnimAtEnd(animator, Anim_LightAttack5);
+ trigger = new Trigger(condAttk5AtEnd, switchToIdle);
+ attk5.AddTrigger(trigger);
+
+ m_AbilitySystem.ForceStart(idle);
+ }
} \ No newline at end of file