Door hacking
[koperkapel.git] / koperkapel / loaders / levelloader.py
index 0addeccf5c54d678dadbaa8d796e904e26ebf01e..b5572ecde096a83c6fa902f81a62619fbd1f790a 100644 (file)
@@ -6,6 +6,8 @@ from pgzero.loaders import ResourceLoader
 
 from ..gamelib.tiles import Wall, Floor, Tunnel, Underground, Grate
 from ..gamelib.level import Level
+from ..gamelib.door import Door
+from ..gamelib.keypad import Keypad
 
         
 
@@ -40,6 +42,17 @@ class LevelLoader(ResourceLoader):
         for tile in TILES.values():
             tile.TILESET = self._level.tileset
         self._load_tile_images()
+        for door_info in level_data['door_info']:
+            # Create the doors first
+            doors = []
+            for door in door_info['doors']:
+                # Sort out angle
+                new_door = Door(0, door[0], door[1])
+                self._level.doors.append(new_door)
+            # Add the keypads
+            for keypad in door_info['keypads']:
+                new_keypad = Keypad(doors, keypad[0], keypad[1])
+                self._level.keypads.append(new_keypad)
         return self._level
 
     def _load_tile_images(self):