4fa6ecd9331360220ea1460f8e7bbd3f3d9af3f1
[koperkapel.git] / koperkapel / loaders / levelloader.py
1 """Loader a level, using the pygame-zero ResourceLoader infrastructure"""
2
3 import json
4
5 from pgzero.loaders import images, ResourceLoader
6
7
8 class LevelLoader(ResourceLoader):
9     """ Level loader. """
10
11     EXTNS = ['json']
12     TYPE = 'level'
13
14     def _load(self, level_path):
15         f = open(level_path, 'r')
16         level_data = json.load(f)
17         f.close()
18         self._tiles = level_data['tiles']
19         self._load_tile_images()
20         return level_data
21
22     def _load_tile_images(self):
23         """Load all the tile images"""
24         for tile in self._tiles:
25             tile['image'] = images.load(tile['base'])
26
27
28 levels = LevelLoader('levels')