private void CarryOutDetection()
 {
     if (Time.time > nextRate)
     {
         nextRate = Time.time + checkRate;
         Collider[] colliders = Physics.OverlapSphere(myTransform.position, detectedRaduis, playerLayer);
         if (colliders.Length > 0)
         {
             foreach (Collider potentialTargetCollider in colliders)
             {
                 if (potentialTargetCollider.CompareTag("Player"))
                 {
                     if (CanPotentialTargetBeSeen(potentialTargetCollider.transform))
                     {
                         print("Player insight");
                         break;
                     }
                 }
             }
         }
         else
         {
             enemyMaster.CallEventEnemyLostTarget();
         }
     }
 }
    void CarryOutDetection()
    {
        if (Time.time > nextCheck)
        {
            nextCheck = Time.time + checkRate;

            Collider[] colliders = Physics.OverlapSphere(myTransform.position, detectRadius, playerLayer);

            if (colliders.Length > 0)
            {
                foreach (Collider potentialTargetCollider in colliders)
                {
                    if (potentialTargetCollider.CompareTag(GameManager_Reference._playerTag))
                    {
                        if (CanPotentialTargetBeSeen(potentialTargetCollider.transform))
                        {
                            break;
                        }
                    }
                }
            }
            else

            {
                enemyMaster.CallEventEnemyLostTarget();
            }
        }
    }
Пример #3
0
 bool CanPotentialTargetBeSeen(Transform potentialTarget)
 {
     if (Physics.Linecast(head.position, potentialTarget.position, out hit, sightLayer))
     {
         if (hit.transform == potentialTarget)
         {
             enemyMaster.CallEventEnemySetNavTarget(potentialTarget);
             return(true);
         }
         else
         {
             enemyMaster.CallEventEnemyLostTarget();
             return(false);
         }
     }
     else
     {
         enemyMaster.CallEventEnemyLostTarget();
         return(false);
     }
 }
Пример #4
0
        void CarryOutDetection()
        {
            Collider[] colliders = Physics.OverlapSphere(myTransform.position, detectRadius, playerLayer);

            if (colliders.Length > 0)
            {
                foreach (Collider potentialTarget in colliders)
                {
                    if (potentialTarget.CompareTag("Player"))
                    {
                        if (CanPotentialTargetBeSeen(potentialTarget.transform))
                        {
                            break;
                        }
                    }
                }
            }
            else
            {
                enemyMaster.CallEventEnemyLostTarget();
            }
        }