//splits the SubLevel into smaller SubLevels until they're the correct size private void SplitLevel(SubLevel level) { if (level.IsLeaf() && level.IsLarge(maxRoomSize)) { if (level.SplitLevel(minRoomSize, maxRoomSize)) { SplitLevel(level.getChild(1)); SplitLevel(level.getChild(2)); } } }
//Creates a list of all rooms in the level private void GetRooms(SubLevel level) { if (level.getChild(1) != null) { GetRooms(level.getChild(1)); } if (level.getChild(2) != null) { GetRooms(level.getChild(2)); } if (level.IsLeaf()) { rooms.Add(level.getRoom()); } }