protected override void CheckTransitions(FiniteStateMachine controller)
    {
        // check if we should do a transistion
        if (playerSpotted)
        {
            ResetValues();
            AttackState state = GetComponent <AttackState>();
            state.StartAnimation();
            controller.TransitionToState(state);
            return;
        }

        if (shouldIdle)
        {
            ResetValues();
            audioSource.Stop();
            IdleState state = GetComponent <IdleState>();
            state.StartAnimation();
            controller.TransitionToState(state);
            return;
        }
    }