added exit button to load level screen
authoradrianna <adrianna.pinska@gmail.com>
Sat, 10 Sep 2016 22:54:09 +0000 (00:54 +0200)
committeradrianna <adrianna.pinska@gmail.com>
Sat, 10 Sep 2016 22:54:19 +0000 (00:54 +0200)
tabakrolletjie/scenes/load_level.py

index 7f3223fefd7139eac18053cdc720deb5c83f8e17..015a5f69bb6b8b378d2c52db1e0c104521f2c5b6 100644 (file)
@@ -7,7 +7,7 @@ import pygame.locals as pgl
 from .base import BaseScene
 from ..constants import SCREEN_SIZE
 from ..events import SceneChangeEvent
-from ..widgets import TextButton
+from ..widgets import TextButton, ImageButton
 from ..loader import loader
 
 
@@ -35,12 +35,24 @@ class LoadLevelScene(BaseScene):
             height += button.get_height() + 20
             self._buttons.append(button)
 
+        self._tools = self.create_tools(gamestate)
+
+    def create_tools(self, gamestate):
+        tools = []
+        tools.append(ImageButton(
+            '32', 'exit.png', name='exit',
+            pos=(SCREEN_SIZE[0] - 50, SCREEN_SIZE[1] - 40)))
+        return tools
+
     def render(self, surface, gamestate):
         surface.fill((0, 128, 128))
         self._title.render(surface)
         for button in self._buttons:
             button.render(surface)
 
+        for tool in self._tools:
+            tool.render(surface)
+
     def _get_pressed(self, ev):
         for button in self._buttons:
             if button.pressed(ev):
@@ -62,3 +74,10 @@ class LoadLevelScene(BaseScene):
             pressed = self._get_pressed(ev)
             if pressed:
                 self._do_load(pressed.station, gamestate)
+            else:
+                # Check tools
+                for tool in self._tools:
+                    if tool.pressed(ev):
+                        if tool.name == 'exit':
+                            from .menu import MenuScene
+                            SceneChangeEvent.post(scene=MenuScene())