think of the poor windows users
[koperkapel.git] / koperkapel / scenes / viewlevel.py
index 88e9217444a0fc64849a58763172131a514f73de..28e4026ce82a154b2ccad7afdb517c2f5a34e70e 100644 (file)
@@ -1,14 +1,27 @@
 """Render a level and allow moving the scene"""
 
+from pygame.constants import BLEND_RGBA_MULT
 from pgzero.constants import keys
-from .level import LevelScene
+from pgzero.loaders import images
+from .level import BaseLevelScene
 from .base import MoveViewportEvent
 from ..constants import TILE_SIZE
+from ..util import safepath
 
 
-class ViewLevelScene(LevelScene):
+class ViewLevelScene(BaseLevelScene):
     """ Level scene. """
 
+    def enter(self, world):
+        super().enter(world)
+        # Mark starting position
+        self._roach = images.load(safepath("roach/roach_1")).copy()
+        self._roach.fill((255, 0, 0, 255), None, BLEND_RGBA_MULT)
+        x = self._level.start_pos[0] * TILE_SIZE
+        y = self._level.start_pos[1] * TILE_SIZE
+        for layer in ['floor', 'tunnels']:
+            self._surfaces[layer].blit(self._roach, (x, y))
+
     def on_key_down(self, key, mod, unicode):
         offset = None
         if key == keys.DOWN:
@@ -20,10 +33,10 @@ class ViewLevelScene(LevelScene):
         elif key == keys.RIGHT:
             offset = (TILE_SIZE, 0)
         elif key == keys.S:
-            if self._layer == 'floor':
-                self._layer = 'tunnels'
+            if self._level_layer == 'floor':
+                self._level_layer = 'tunnels'
             else:
-                self._layer = 'floor'
+                self._level_layer = 'floor'
             return
         if offset:
             return [MoveViewportEvent(offset)]