X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;ds=sidebyside;f=koperkapel%2Floaders%2Flevelloader.py;fp=koperkapel%2Floaders%2Flevelloader.py;h=544777c6aea5dfb60d001857b9769a4bf9920cb8;hb=373de1abe4738b8fc2a3c12fb686fd6f2b1a87b0;hp=699b520c06884f3fd293212569aa8ca7dd99f0c4;hpb=723e1584330175d8156805bff09c334bb31a2c57;p=koperkapel.git diff --git a/koperkapel/loaders/levelloader.py b/koperkapel/loaders/levelloader.py index 699b520..544777c 100644 --- a/koperkapel/loaders/levelloader.py +++ b/koperkapel/loaders/levelloader.py @@ -10,26 +10,28 @@ from pygame.transform import rotate class Tile: IMG = None + TILESET = None @classmethod def image(cls): - if cls.IMG is None: + if cls.IMG is None or cls.TILESET is None: raise NotImplementedError() - - return images.load(cls.IMG) + return images.load(os.path.join(cls.TILESET, cls.IMG)) class RandomizedTile(Tile): IMGDIR = None - ROTATE = True + TILESET = None + ROTATE = None @classmethod def image(cls): - if cls.IMGDIR is None: + if cls.IMGDIR is None or cls.TILESET is None: raise NotImplementedError() - imgdir = os.path.join(os.path.dirname(__file__), '..', 'images', cls.IMGDIR) + imgdir = os.path.join(os.path.dirname(__file__), '..', 'images', + cls.TILESET, cls.IMGDIR) imgpath = os.path.splitext(random.choice(os.listdir(imgdir)))[0] - img = images.load(os.path.join(cls.IMGDIR, imgpath)) + img = images.load(os.path.join(cls.TILESET, cls.IMGDIR, imgpath)) if cls.ROTATE: img = rotate(img, 90 * random.randint(0, 3)) @@ -66,6 +68,8 @@ class LevelLoader(ResourceLoader): for row, row_data in enumerate(self._tiles): if len(row_data) != self._width: raise RuntimeError("Incorrect len for row %d" % row) + for tile in TILES.values(): + tile.TILESET = self._tileset self._load_tile_images() return level_data