+ for door_info in level_data['door_info']:
+ # Create the doors first
+ doors = []
+ for door in door_info['doors']:
+ x, y = door
+ # is this the right check
+ if self._level.can_walk(x + 1, y, 'floor') and self._level.can_walk(x - 1, y, 'floor'):
+ # vertical door
+ angle = 90
+ else:
+ angle = 0
+ new_door = Door(x, y, angle)
+ self._level.doors.append(new_door)
+ doors.append(new_door)
+ # Add the keypads
+ for keypad in door_info['keypads']:
+ new_keypad = Keypad(keypad[0], keypad[1], doors, keypad[2])
+ self._level.keypads.append(new_keypad)
+ for pos in level_data['friendly roaches']:
+ roach = get_friendly_roach(pos[0], pos[1])
+ self._level.friends.append(roach)
+ for item in level_data['items']:
+ self._level.items.append(get_item(item))
+ for generator in level_data['enemy generators']:
+ enemy = EnemyGenerator(generator, self._level)
+ self._level.enemy_generators.append(enemy)
+ return self._level