X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Floaders%2Flevelloader.py;h=124161f37d12fe93dd9681471bf140cced3a3ef5;hb=e18e3769c831f66ef86d48a9e5b4e9a4f08f8c52;hp=4fa6ecd9331360220ea1460f8e7bbd3f3d9af3f1;hpb=9716c38db307a48cc69bf5a3d77347d5fba4acc2;p=koperkapel.git diff --git a/koperkapel/loaders/levelloader.py b/koperkapel/loaders/levelloader.py index 4fa6ecd..124161f 100644 --- a/koperkapel/loaders/levelloader.py +++ b/koperkapel/loaders/levelloader.py @@ -15,14 +15,22 @@ class LevelLoader(ResourceLoader): f = open(level_path, 'r') level_data = json.load(f) f.close() + self._height = len(level_data['tiles']) + self._width = len(level_data['tiles'][0]) self._tiles = level_data['tiles'] + # Consistency check, so we can assume things are correct + # in the level renderer + for row, row_data in enumerate(self._tiles): + if len(row_data) != self._width: + raise RuntimeError("Incorrect len for row %d" % row) self._load_tile_images() return level_data def _load_tile_images(self): """Load all the tile images""" - for tile in self._tiles: - tile['image'] = images.load(tile['base']) + for row_data in self._tiles: + for tile in row_data: + tile['image'] = images.load(tile['base']) levels = LevelLoader('levels')