X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fscenes%2Fviewlevel.py;h=fa3fd997d4a5843bd7b7578434457190738b076e;hb=d8e680f0570eaee2debe5109532c23a6457035f0;hp=8a101df27e1a815d6bca2b9ece97775b2d6a6306;hpb=86092c002ef88ab0eb450cc7d16c2437f7861729;p=koperkapel.git diff --git a/koperkapel/scenes/viewlevel.py b/koperkapel/scenes/viewlevel.py index 8a101df..fa3fd99 100644 --- a/koperkapel/scenes/viewlevel.py +++ b/koperkapel/scenes/viewlevel.py @@ -1,31 +1,30 @@ """Render a level and allow moving the scene""" from pgzero.constants import keys -from .level import LevelScene +from .level import BaseLevelScene +from .base import MoveViewportEvent from ..constants import TILE_SIZE -class ViewLevelScene(LevelScene): +class ViewLevelScene(BaseLevelScene): """ Level scene. """ - def __init__(self, level_name): - super(ViewLevelScene, self).__init__(level_name) - self._pos = (0, 0) - - def draw(self, screen): - super(ViewLevelScene, self).draw(screen, self._pos) - def on_key_down(self, key, mod, unicode): + offset = None if key == keys.DOWN: - self._pos = self._pos[0], self._pos[1] + TILE_SIZE - return + offset = (0, TILE_SIZE) elif key == keys.UP: - self._pos = self._pos[0], self._pos[1] - TILE_SIZE - return + offset = (0, -TILE_SIZE) elif key == keys.LEFT: - self._pos = self._pos[0] - TILE_SIZE, self._pos[1] - return + offset = (-TILE_SIZE, 0) elif key == keys.RIGHT: - self._pos = self._pos[0] + TILE_SIZE, self._pos[1] + offset = (TILE_SIZE, 0) + elif key == keys.S: + if self._level_layer == 'floor': + self._level_layer = 'tunnels' + else: + self._level_layer = 'floor' return + if offset: + return [MoveViewportEvent(offset)] return super(ViewLevelScene, self).on_key_down(key, mod, unicode)