It stems from your Update
void Update ()
{
Messenger.AddListener ("melee attack made", EvaluateAttack);
}
It keeps evaluating with no condition. When the raycast is true it still keeps evaluating and as the conditions are met it keeps executing subsequent functions, every frame.
Put a Debug.Log in Evaluate function. This will show you what I mean.
↧