Dwarrowdelf.TerrainGen.DungeonTerrainGenerator.FindNearestRoom C# (CSharp) Method

FindNearestRoom() private method

private FindNearestRoom ( BSPTree bsp, int i, IntVector2 p ) : int
bsp BSPTree
i int
p IntVector2
return int
        int FindNearestRoom(BSPTree bsp, int i, IntVector2 p)
        {
            if (bsp.IsLeaf(i))
            {
                return i;
            }
            else
            {
                int left = FindNearestRoom(bsp, bsp.GetLeft(i), p);
                int right = FindNearestRoom(bsp, bsp.GetRight(i), p);

                double dl = (bsp[left].Grid.Center - p).Length;
                double rl = (bsp[right].Grid.Center - p).Length;

                if (dl < rl)
                    return left;
                else
                    return right;
            }
        }