private bool Probe(Image[] imgsToAdd, int idealAtlasW, int idealAtlasH, float imgArea, int maxAtlasDimension, ProbeResult pr) { Node node = new Node(); node.pixRect = new PixRect(0, 0, idealAtlasW, idealAtlasH); for (int i = 0; i < imgsToAdd.Length; i++) { if (node.Insert(imgsToAdd[i], false) == null) { return(false); } if (i == imgsToAdd.Length - 1) { int num = 0; int num2 = 0; this.GetExtent(node, ref num, ref num2); float efficiency = 1f - ((float)(num * num2) - imgArea) / (float)(num * num2); float squareness; if (num < num2) { squareness = (float)num / (float)num2; } else { squareness = (float)num2 / (float)num; } bool fits = num <= maxAtlasDimension && num2 <= maxAtlasDimension; pr.Set(num, num2, node, fits, efficiency, squareness); return(true); } } return(false); }