public void LookupColliders <T>(OBB bounds, List <T> list) where T : Collider { List <MeshColliderLookup.LookupEntry> data = this.meshLookup.src.data; for (int index = 0; index < data.Count; ++index) { MeshColliderLookup.LookupEntry lookupEntry = data[index]; if (Object.op_Implicit((Object)lookupEntry.collider) && ((OBB) ref lookupEntry.bounds).Intersects(bounds)) { list.Add(lookupEntry.collider as T); } } }
public void LookupColliders <T>(OBB bounds, List <T> list) where T : Collider { List <MeshColliderLookup.LookupEntry> lookupEntries = this.meshLookup.src.data; for (int i = 0; i < lookupEntries.Count; i++) { MeshColliderLookup.LookupEntry item = lookupEntries[i]; if (item.collider && item.bounds.Intersects(bounds)) { list.Add((T)(item.collider as T)); } } }
public void LookupColliders <T>(Vector3 position, float distance, List <T> list) where T : Collider { List <MeshColliderLookup.LookupEntry> lookupEntries = this.meshLookup.src.data; float single = distance * distance; for (int i = 0; i < lookupEntries.Count; i++) { MeshColliderLookup.LookupEntry item = lookupEntries[i]; if (item.collider && (item.bounds.ClosestPoint(position) - position).sqrMagnitude <= single) { list.Add((T)(item.collider as T)); } } }
public void LookupColliders <T>(Vector3 position, float distance, List <T> list) where T : Collider { List <MeshColliderLookup.LookupEntry> data = this.meshLookup.src.data; float num = distance * distance; for (int index = 0; index < data.Count; ++index) { MeshColliderLookup.LookupEntry lookupEntry = data[index]; if (Object.op_Implicit((Object)lookupEntry.collider)) { Vector3 vector3 = Vector3.op_Subtraction(((OBB) ref lookupEntry.bounds).ClosestPoint(position), position); if ((double)((Vector3) ref vector3).get_sqrMagnitude() <= (double)num) { list.Add(lookupEntry.collider as T); } } } }