Exemplo n.º 1
0
    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();
     }
 }