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); } }