Exemple #1
0
 private void OnTriggerExit2D(Collider2D other)
 {
     if (other.gameObject.CompareTag("Player"))
     {
         Collider2D[] colliders = new Collider2D[10];
         other.OverlapCollider(filter, colliders);
         if (state == DetectedState.almost && Array.Find(colliders, trigger => trigger == almostDetectedTrigger) == null)
         {
             indicator.color = neutralColor;
             state           = DetectedState.neutral;
         }
     }
 }
Exemple #2
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.CompareTag("Player"))
     {
         Collider2D[] colliders = new Collider2D[20];
         other.OverlapCollider(filter, colliders);
         if (state == DetectedState.neutral && Array.Find(colliders, trigger => trigger == almostDetectedTrigger) != null)
         {
             indicator.color = almostDetectedColor;
             state           = DetectedState.almost;
         }
         else if (state != DetectedState.detected && Array.Find(colliders, trigger => trigger == detectedTrigger) != null)
         {
             playerSightedHandler(other.gameObject);
             indicator.color = detectedColor;
             state           = DetectedState.detected;
         }
     }
 }