public override void OnEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { base.OnEnter(animator, stateInfo, layerIndex); //添加位移 Character.transform.DOMove(Character.transform.position + Character.transform.forward, duration) .SetEase(atkCurve); //每次,有进入状态.就创建一次 new AttackInfo() attackInfo = new AttackInfo(); attackInfo.ResetInfo(); isAttack = false; }
public override void OnEnter(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo) { animator.SetBool(TransitionParameter.Attack.ToString(), false); GameObject obj = PoolManager.Instance.GetObject(PoolObjectType.ATTACKINFO); AttackInfo info = obj.GetComponent <AttackInfo>(); obj.SetActive(true); info.ResetInfo(this, characterState.GetCharacterControl(animator)); if (!AttackManager.Instance.CurrentAttacks.Contains(info)) { AttackManager.Instance.CurrentAttacks.Add(info); } }
public override void OnEnter(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo) { characterControl = characterState.GetCharacterControl(animator); animator.SetBool(TransitionParameter.Attack.ToString(), false); GameObject obj = Instantiate(Resources.Load("AttackInfo", typeof(GameObject))) as GameObject; AttackInfo info = obj.GetComponent <AttackInfo>(); info.ResetInfo(this); if (!AttackManager.Instance.currentAttacks.Contains(info)) { AttackManager.Instance.currentAttacks.Add(info); } }
public override void OnEnter(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo) { characterState.GetCharacterController2D(animator).attack = false; animator.SetBool("Attack", false); //GameObject obj = Instantiate(Resources.Load("AttackInfo", typeof(GameObject))) as GameObject; GameObject obj = PoolManager.Instance.GetObject(PoolObjectType.ATTACKINFO); AttackInfo info = obj.GetComponent <AttackInfo>(); //obj.SetActive(true); info.ResetInfo(this, characterState.GetCharacterController2D(animator)); if (!AttackManager.Instance.CurrentAttacks.Contains(info)) { AttackManager.Instance.CurrentAttacks.Add(info); } }