private Face GetClosestAdjacentFace(Cuboid thisCuboid, List <Cuboid> otherCuboids, out int?thisFaceIndex) { thisFaceIndex = null; thatFace = null; float currentDistance, minDistance = float.MaxValue; int currentThisIndex, currentThatIndex; for (int i = 0; i < otherCuboids.Count; i++) { currentDistance = Cuboid.GetClosedFaces(thisCuboid, otherCuboids[i], m_Settings.SnappingDistance, out currentThisIndex, out currentThatIndex); if (currentDistance >= 0 && currentDistance < minDistance) { minDistance = currentDistance; thisFaceIndex = currentThisIndex; thatFace = otherCuboids[i].Faces[currentThatIndex]; } } return(thatFace); }