+ self._level = Level()
+ self._level.height = len(level_data['tiles'])
+ self._level.width = len(level_data['tiles'][0])
+ self._level.tiles = level_data['tiles']
+ self._level.tileset = level_data['tileset']
+ # Consistency check, so we can assume things are correct
+ # in the level renderer
+ for row, row_data in enumerate(self._level.tiles):
+ if len(row_data) != self._level.width:
+ raise RuntimeError("Incorrect len for row %d" % row)
+ for tile in TILES.values():
+ tile.TILESET = self._level.tileset