AttackSystem Class
System reponsible for handling attacking. For an attack to trigger, a Position, a FacingDirection and an Attacking component are required. The triggering of attacks happens via the input and AI systems. The attack system will listen for 'attack' events from those. Beside that, the system will make use of spell effects. If an AttackEnchantSpellEffect is present on the SpellEffects component, the enchant will be triggered instead of the attack. If AttackSpeedSpellEffects are present, they're used during attack cooldown calculation. If an entity is grappling anything, checked via the WallGrappling component, the attack will be prevented. This system triggers animations. 'attackLeft' or 'attackRight' animations are played depending on the facing direction when an attack is performed. The animations will be sped up if an animation lasts longer than the attack cooldown.
Constructor
AttackSystem
-
entitySystemManager
-
inputSystem
-
aISystem
-
healthSystem
-
spellSystem
-
physicsSystem
-
forceGeneratorRegistry
-
collisionMasks
Parameters:
-
entitySystemManager
ManagerThe entity system manager whose entities this system will be working on.
-
inputSystem
KeyboardInputSystem -
aISystem
AISystem -
healthSystem
HealthSystem -
spellSystem
SpellSystem -
physicsSystem
PhysicsSystem -
forceGeneratorRegistry
ForceGeneratorRegistry -
collisionMasks
ObjectAn object holding bit masks used for determining collision categories.