コード例 #1
0
        // Token: 0x06002BA7 RID: 11175 RVA: 0x001048CC File Offset: 0x00102ACC
        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);
                    }
                }
            }
        }
コード例 #2
0
 // Token: 0x06002BA6 RID: 11174 RVA: 0x0001E995 File Offset: 0x0001CB95
 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();
 }