Пример #1
0
    void UpdateTarget()
    {
        GameObject[] enemies          = GameObject.FindGameObjectsWithTag(enemyTag);
        float        shortestDistance = Mathf.Infinity;
        GameObject   nearestEnemy     = null;


        foreach (GameObject enemy in enemies)
        {
            float distanceToEnemy = Vector3.Distance(transform.position, enemy.transform.position);
            if (distanceToEnemy < shortestDistance)
            {
                shortestDistance = distanceToEnemy;
                nearestEnemy     = enemy;
            }
        }
        if (nearestEnemy != null && shortestDistance <= range)
        {
            target      = nearestEnemy.transform;
            enemytarget = nearestEnemy.GetComponent <enemy_Ai>();
            enemymove   = nearestEnemy.GetComponent <NavMeshAgent>();
        }
        else
        {
            target = null;
        }
    }
Пример #2
0
    void Damage(Transform enemy)
    {
        enemy_Ai bear = enemy.GetComponent <enemy_Ai>();

        if (bear != null)
        {
            bear.damagetaken(damage);
        }
    }