private void Update() { if (!stunned) { FindTarget(); if (!preparingAttack && !attacking) { MovementBehaviour(); } if (readyAbility != null) { if (!preparingAttack) { if (!attacking) { if (readyAbility.PrerequisitesMet()) { readyAbility.InitiateAttack(); activeAbility = readyAbility; readyAbility = null; } else { if (target != null) { readyAbility.Behaviour(); } } } } } } }
public void CheckForReadyAttack() { if (abilities.Count > 0) { foreach (Basic_Ability ability in abilities) { if (ability.cdReady) { readyAbility = ability; return; } } } readyAbility = null; }