public void CreateBSP(Subdungeon subdungeon) //Create a BinarySpacePartition from a given subdungeon { if (subdungeon.isLeaf()) { if (subdungeon.rect.width > maxRoomSize || subdungeon.rect.height > maxRoomSize || Random.Range(0.0f, 1.0f) > 0.25) { if (subdungeon.split(minRoomSize, maxRoomSize)) { CreateBSP(subdungeon.left); CreateBSP(subdungeon.right); } } } }