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))); }
private bool ValidDrop(bool rayHit, RaycastHit rayCollidedWith, float floorY) { return(rayHit && teleporter && teleporter.ValidLocation(rayCollidedWith.transform, rayCollidedWith.point) && !FloorIsGrabbedObject(rayCollidedWith) && FloorHeightChanged(floorY)); }