public virtual void StateAttack() { if (_animator != null && GetAnimation(_animatorBools[2]) == false) { SetAnimation(_animatorBools[2]); //StartCoroutine(CR_Attack()); } SmoothLookAt(_graphic, _player.position); if (_animator != null) { AnimatorStateInfo _animStateInfo = _animator.GetCurrentAnimatorStateInfo(0); if (_animStateInfo.IsTag("attack")) { if (_animStateInfo.normalizedTime > .45f && _animStateInfo.normalizedTime < .5f) { _attackController.Attack(); } if (_animStateInfo.normalizedTime >= 1) { _state = enemyState.wonder; } } } }
private void Attack() { if (playerInRange && Time.time >= nextAttack && !isDead) { if (gameObject.transform.position.x > target.position.x) { gameObject.transform.localScale = new Vector3(-1, 1, 1); } enemyAttackController.Attack(); nextAttack = Time.time + characterStats.GETAttackCooldown(); } }