Ejemplo n.º 1
0
 private void Update()
 {
     if (!_isMyTurn)
     {
         return;
     }
     _target = _botBehaviour.GetClosestEnemy();
     if (_target && _isCanMove)
     {
         float distance = Vector2.Distance(gameObject.transform.position, _target.transform.position);
         if (distance < _stopDistance)
         {
             _isCanMove = false;
             onCanAttackWitchColdWeapon?.Invoke();
         }
         else if (distance < _meleeRange)
         {
             transform.position = Vector2.Lerp(transform.position, _target.transform.position, Time.deltaTime * _speed);
             float deltaX = _target.transform.position.x - transform.position.x;
             _direction = deltaX > 0 ? 1 : -1;
             CheckForJump();
             FlipSprite();
         }
         else
         {
             _isCanMove = false;
             onCanAttackWitchExplosiveWeapon?.Invoke();
         }
     }
 }