void UpdateTarget()
    {
        GameObject[] enemies          = GameObject.FindGameObjectsWithTag(enemyTag);
        float        shortestDistance = Mathf.Infinity;
        GameObject   nearestEnemy     = null;

        foreach (GameObject enemy in enemies)
        {
            SpaceGhostMoviment en = enemy.GetComponent <SpaceGhostMoviment>();
            if (en != null)
            {
                if (en.isAlive())
                {
                    float distanceToEnemy = Vector3.Distance(transform.position, enemy.transform.position);

                    if (distanceToEnemy < shortestDistance)
                    {
                        shortestDistance = distanceToEnemy;
                        nearestEnemy     = enemy;
                    }

                    if (nearestEnemy != null && shortestDistance <= range)
                    {
                        target = nearestEnemy.transform;
                    }
                    else
                    {
                        target = null;
                    }
                }
                else if (!en.isAlive() && target == en.transform)
                {
                    target = null;
                }
            }
        }
    }
 private void Update()
 {
     if (en.isAlive())
     {
         float distanceToEnemy = Vector3.Distance(transform.position, player.transform.position);
         if (distanceToEnemy <= range)
         {
             animator.SetBool("PlayerInRange", true);
             agent.SetDestination(player.position);
         }
         else
         {
             animator.SetBool("PlayerInRange", false);
         }
     }
     else
     {
         agent.SetDestination(transform.position);
         transform.LookAt(player.transform);
         animator.SetTrigger("PlayerIsDead");
     }
 }