private void HandleAbilityInput() { foreach (KeyCode key in abilities.AbilityBindings.Keys) { if (Input.GetKeyDown(key)) { if (activeSpecialAbility == null) { useSpecialIfPossible(abilities.abilityArray[abilities.AbilityBindings[key]]); } else { if (!activeSpecialAbility.Equals(abilities.abilityArray[abilities.AbilityBindings[key]])) { cancelSpecialIfPossible(activeSpecialAbility); useSpecialIfPossible(abilities.abilityArray[abilities.AbilityBindings[key]]); } else { cancelSpecialIfPossible(activeSpecialAbility); } } } } }