public override void OnEnter(CharacterStateBase characterStateBase, Animator animator, AnimatorStateInfo stateInfo)
    {
        // get Control script component attached to our gameObject
        control = characterStateBase.getController(animator);


        // attack kicked off, now disable
        animator.SetBool(AnimationTags.LEFT_SWING, false);
        animator.SetBool(AnimationTags.RIGHT_SWING, false);
        animator.SetBool(AnimationTags.END, false);


        // Load prefab empty object that contains the attack info script
        // We can use this object as a way to broadcast information on attacks
        GameObject obj        = Instantiate(Resources.Load("AttackInfo", typeof(GameObject))) as GameObject;
        AttackInfo attackInfo = obj.GetComponent <AttackInfo>();

        attackInfo.resetAttackInfo(this);

        // Add object containing attack info into the attack manager
        if (!AttackManager.Instance.currentAttacks.Contains(attackInfo))
        {
            AttackManager.Instance.currentAttacks.Add(attackInfo);
        }
    }