BoringHeroes.ScreenReader.FindCamera C# (CSharp) Метод

FindCamera() приватный статический Метод

private static FindCamera ( Point p, List blobs ) : Point?
p AForge.Point
blobs List
Результат Point?
        private static Point? FindCamera(Point p, List<Blob> blobs)
        {
            var diff = 2;
            var antidiff = diff*-1;
            foreach (var blob in blobs)
            {
                if (p.DistanceTo(blob.CenterOfGravity) < 1) continue;
                if (InRange(((int) (blob.CenterOfGravity.Y - p.Y)), antidiff, diff))
                {
                    foreach (var blob2 in blobs)
                    {
                        if (blob.CenterOfGravity.DistanceTo(blob2.CenterOfGravity) < 1) continue;
                        if (InRange(((int) (blob2.CenterOfGravity.X - blob.CenterOfGravity.X)), antidiff, diff))
                        {
                            foreach (var blob3 in blobs)
                            {
                                if (blob2.CenterOfGravity.DistanceTo(blob3.CenterOfGravity) < 1) continue;
                                if (InRange(((int) (blob3.CenterOfGravity.Y - blob2.CenterOfGravity.Y)), antidiff, diff))
                                {
                                    if (InRange(((int) (blob3.CenterOfGravity.X - p.X)), antidiff, diff))
                                    {
                                        float xCent = 0, yCent = 0;
                                        var sum = p + blob.CenterOfGravity + blob2.CenterOfGravity +
                                                  blob3.CenterOfGravity;
                                        xCent = sum.X/4;
                                        yCent = sum.Y/4;
                                        return new Point(xCent, yCent);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return null;
        }