示例#1
0
        protected virtual bool ValidDestination()
        {
            if (destinationHit.collider == null)
            {
                return(false);
            }

            bool validNavMeshLocation = false;

            if (navMeshData != null)
            {
                if (destinationHit.transform != null)
                {
                    NavMeshHit hit;
                    validNavMeshLocation = NavMesh.SamplePosition(destinationHit.point, out hit, navMeshData.distanceLimit, navMeshData.validAreas);
                }
            }
            else
            {
                validNavMeshLocation = true;
            }

            if (teleporter)
            {
                validNavMeshLocation = teleporter.ValidLocation(destinationHit.collider.transform, destinationHit.point);
            }

            return(validNavMeshLocation && !(VRTK_PolicyList.Check(destinationHit.collider.gameObject, invalidListPolicy)));
        }
示例#2
0
 private bool ValidDrop(bool rayHit, RaycastHit rayCollidedWith, float floorY)
 {
     return(rayHit && teleporter && teleporter.ValidLocation(rayCollidedWith.transform, rayCollidedWith.point) && !FloorIsGrabbedObject(rayCollidedWith) && FloorHeightChanged(floorY));
 }