public override bool OnRebuildObservers(HashSet <NetworkConnection> observers, bool initial)
        {
            bool result;

            if (this.forceHidden)
            {
                NetworkIdentity component = base.GetComponent <NetworkIdentity>();
                if (component.connectionToClient != null)
                {
                    observers.Add(component.connectionToClient);
                }
                result = true;
            }
            else
            {
                NetworkProximityChecker.CheckMethod checkMethod = this.checkMethod;
                if (checkMethod != NetworkProximityChecker.CheckMethod.Physics3D)
                {
                    if (checkMethod != NetworkProximityChecker.CheckMethod.Physics2D)
                    {
                        result = false;
                    }
                    else
                    {
                        foreach (Collider2D collider2D in Physics2D.OverlapCircleAll(base.transform.position, (float)this.visRange))
                        {
                            NetworkIdentity component2 = collider2D.GetComponent <NetworkIdentity>();
                            if (component2 != null && component2.connectionToClient != null)
                            {
                                observers.Add(component2.connectionToClient);
                            }
                        }
                        result = true;
                    }
                }
                else
                {
                    foreach (Collider collider in Physics.OverlapSphere(base.transform.position, (float)this.visRange))
                    {
                        NetworkIdentity component3 = collider.GetComponent <NetworkIdentity>();
                        if (component3 != null && component3.connectionToClient != null)
                        {
                            observers.Add(component3.connectionToClient);
                        }
                    }
                    result = true;
                }
            }
            return(result);
        }
Esempio n. 2
0
 public override bool OnRebuildObservers(HashSet <NetworkConnection> observers, bool initial)
 {
     if (this.forceHidden)
     {
         NetworkIdentity component = base.GetComponent <NetworkIdentity>();
         if (component.connectionToClient != null)
         {
             observers.Add(component.connectionToClient);
         }
         return(true);
     }
     NetworkProximityChecker.CheckMethod checkMethod = this.checkMethod;
     if (checkMethod == NetworkProximityChecker.CheckMethod.Physics3D)
     {
         Collider[] array  = Physics.OverlapSphere(base.transform.position, (float)this.visRange);
         Collider[] array2 = array;
         for (int i = 0; i < array2.Length; i++)
         {
             Collider        collider   = array2[i];
             NetworkIdentity component2 = collider.GetComponent <NetworkIdentity>();
             if (component2 != null && component2.connectionToClient != null)
             {
                 observers.Add(component2.connectionToClient);
             }
         }
         return(true);
     }
     if (checkMethod != NetworkProximityChecker.CheckMethod.Physics2D)
     {
         return(false);
     }
     Collider2D[] array3 = Physics2D.OverlapCircleAll(base.transform.position, (float)this.visRange);
     Collider2D[] array4 = array3;
     for (int j = 0; j < array4.Length; j++)
     {
         Collider2D      collider2D = array4[j];
         NetworkIdentity component3 = collider2D.GetComponent <NetworkIdentity>();
         if (component3 != null && component3.connectionToClient != null)
         {
             observers.Add(component3.connectionToClient);
         }
     }
     return(true);
 }