📶Combo Manager
1.4.2b
Overview
This component uses Modes Abilities Index in the Animal Controller to create combo sequences.

Requirements
It requires an Animal Controller component. It does not have to be in the same gameobject as the Animal script. I recommend being in a Child GameObject

How it works
The combo manager uses Modes to play animations. It will check the right time for an Ability to play the next animation given a Branch value. The Branch value is the Input you give the character.
E.g. Branch 0 is Left click; Branch 1 is Right Click. You can have as many branches as you like.
To play a combo, call the method. ComboManager.Play(int Branch)
Connect the method to your Input Provider:

If you are using the Weapon Manager, There is no need to use the Play() method. The Weapon Manager will do it automatically.
Parameters
Animal
Reference for the Animal Component
Active Combo Index
Which is the current Active combo. This is used when you want to change combos if the character is unharmed, or if the character equips a weapon. The Active Combo is highlighted in yellow

If the Active Combo Index is set to -1, no combo will play. (The combo manager will be disabled
Branch
This value holds the branching value for the combo sequences. For example: You can set the Branch Value 0 to the Mouse Left Click, and 1 for Mouse Right Click. Changing the Branch Value in the middle of a sequence allows to have different animation variations in a single Combo.
Disable on Sleep
If the Animal Controller is sleep, the combo manager will be disabled internally too.
Combo List
Combos are groups of sequences that activate a new Mode Ability on the Animal using the activation time of the current/Required Mode Ability.

Index
Index of the combos. Use it to set the current active Combo with the method: ComboManager.SetActiveCombo(int Index)
. An example of this is when a new weapon is equipped. The active combo will change from Unarmed to Melee.
Name
Name of the Combo. Use this value if you do not want to use the index value with the method: ComboManager.SetActiveCombo(string Index)
Mode
The mode that will be used in the Combo.
Sequences
Each sequence holds the values needed to activate the proper animation at the proper time.

Branch
Helps activate different sequences with different inputs.
Required Ability
Used to Identify which is the current Playing Ability on the mode.
If is set to Zero then the Ability is a Started Combo Sequence
Is recommended that All Combo starters are set at the top of the list. They are color coded with green.
Play Ability
Used to Activate an Ability on the Mode if the Required Ability is within the Activation time
Activation Time
Search on the Playing Ability Animation the range in a normalized time and if you execute the Activation Combo code within that range, then the next sequence will be activated.
Finisher
Used to identify if the current playing sequence is the Finisher Animation. This is color coded as Cyan.
All the sequences use a mode Ability index to identify which Animation can be activated:

Events

On Sequence Play (Int)
Invoked when the sequence starts. the value given is (Mode ID*1000 + Ability Value)
On Combo Finished
Invoked when the combo played a finisher sequence
On Combo Interrupted
Invoked when the combo played did not play a finisher sequence
Functions and Methods
void Play(int branch)
void Play(int branch)
Set the Branch value. and plays a combo
void SetActiveCombo(int Index)
void SetActiveCombo(int Index)
Set the current active combo on the Manager
void SetBranch(int branch)
void SetBranch(int branch)
Set the Branch value.
Last updated
Was this helpful?