public NavMeshLocation CreateLocation(Vector3 position, PolygonId polygon) { AtomicSafetyHandle.CheckReadAndThrow(this.m_Safety); Vector3 position2; PathQueryStatus closestPointOnPoly = NavMeshQuery.GetClosestPointOnPoly(this.m_NavMeshQuery, polygon, position, out position2); return(((closestPointOnPoly & PathQueryStatus.Success) != (PathQueryStatus)0) ? new NavMeshLocation(position2, polygon) : default(NavMeshLocation)); }