// Token: 0x06003109 RID: 12553 RVA: 0x0012DE30 File Offset: 0x0012C030 public static void GetObstacles(Vector3 position, Quaternion rotation, List <OrientedBounds> localBounds, List <GameObject> results) { results.Clear(); if (rotation.IsDistinguishedIdentity()) { rotation = Quaternion.identity; } List <GameObject> list = new List <GameObject>(); for (int i = 0; i < localBounds.Count; i++) { OrientedBounds orientedBounds = localBounds[i]; if (orientedBounds.rotation.IsDistinguishedIdentity()) { orientedBounds.rotation = Quaternion.identity; } orientedBounds.position = position + rotation * orientedBounds.position; orientedBounds.rotation = rotation * orientedBounds.rotation; MultiplayerBuilder.GetOverlappedColliders(orientedBounds.position, orientedBounds.rotation, orientedBounds.extents, MultiplayerBuilder.sCollidersList); MultiplayerBuilder.GetRootObjects(MultiplayerBuilder.sCollidersList, list); for (int j = list.Count - 1; j >= 0; j--) { GameObject go = list[j]; if (!MultiplayerBuilder.IsObstacle(go)) { list.RemoveAt(j); } } for (int k = 0; k < MultiplayerBuilder.sCollidersList.Count; k++) { Collider collider = MultiplayerBuilder.sCollidersList[k]; if (MultiplayerBuilder.IsObstacle(collider)) { GameObject gameObject = collider.gameObject; if (!list.Contains(gameObject)) { list.Add(gameObject); } } } MultiplayerBuilder.sCollidersList.Clear(); for (int l = 0; l < list.Count; l++) { GameObject item = list[l]; if (!results.Contains(item)) { results.Add(item); } } } }
// Token: 0x06003108 RID: 12552 RVA: 0x00021B87 File Offset: 0x0001FD87 public static void GetOverlappedObjects(Vector3 position, Quaternion rotation, Vector3 extents, List <GameObject> results) { MultiplayerBuilder.GetOverlappedColliders(position, rotation, extents, MultiplayerBuilder.sCollidersList); MultiplayerBuilder.GetRootObjects(MultiplayerBuilder.sCollidersList, results); MultiplayerBuilder.sCollidersList.Clear(); }