Exemple #1
0
    private void FixedUpdate()
    {
        _senses.FindVisibleTargets();
        List <Transform> visibleTargets = _senses.VisibleTargets;

        if (visibleTargets.Count > 0)
        {
            Transform closestTarget = visibleTargets[0];
            foreach (Transform target in visibleTargets)
            {
                if (Vector3.Distance(transform.position, target.position) < Vector3.Distance(transform.position, closestTarget.position))
                {
                    closestTarget = target;
                }
            }

            if (Vector3.Distance(transform.position, closestTarget.position) >= _enemyToTargetDistanceLimit)
            {
                _movementController.MoveToTarget(closestTarget);
                _movingToTarget = true;
            }
            else
            {
                _movingToTarget = false;
            }
        }
        else
        {
            _movingToTarget = false;
        }
    }