예제 #1
0
        void Find()
        {
            int nearbyCount = Physics.OverlapSphereNonAlloc(transform.position, GameData.Instance.agentScanRadius, m_NearbyColliders, m_LayerToCheck);

            if (nearbyCount > 0)
            {
                float closestDistance = float.MaxValue;
                for (int i = 0; i < nearbyCount; i++)
                {
                    float distance          = (m_NearbyColliders[i].transform.position - transform.position).magnitude;
                    var   enemyAttackScript = m_NearbyColliders[i].GetComponent <AttackScript>();
                    if (distance < closestDistance &&
                        !enemyAttackScript.m_Occupied)
                    {
                        closestDistance            = distance;
                        m_CurrentTarget            = enemyAttackScript;
                        m_CurrentTarget.m_Occupied = true;
                    }
                }
            }
        }
예제 #2
0
 void OnTargetDie()
 {
     m_CurrentTarget = null;
 }