changeset 504:c85b4affd80f

Hook up credits.
author Simon Cross <hodgestar@gmail.com>
date Sat, 17 Sep 2011 23:58:21 +0200
parents f4b53c56757a
children b459652f8c27
files mamba/habitats/credits.py mamba/habitats/mainmenu.py
diffstat 2 files changed, 42 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mamba/habitats/credits.py	Sat Sep 17 23:58:21 2011 +0200
@@ -0,0 +1,40 @@
+"""Credits"""
+
+import pygame
+from pygame.locals import KEYDOWN
+import pygame.event
+
+from mamba.data import load_image
+from mamba.constants import ESCAPE_KEYS
+from mamba.engine import Habitat, NewHabitatEvent
+from mamba.widgets.overlay import OverlayButton
+
+
+class CreditsHabitat(Habitat):
+    def __init__(self):
+        super(CreditsHabitat, self).__init__()
+
+        self.bg_image = load_image('menus/credits.png')
+        self.add_box((12, 11), (142, 41), 'back', self.back_event)
+        self.container.add_callback(KEYDOWN, self.keydown_event)
+
+    def draw_background(self):
+        self.surface.blit(self.bg_image, self.surface.get_rect())
+
+    def add_box(self, pos, size, overlay_name, clicked):
+        image = load_image('menus/submenu-%s.png' % overlay_name)
+        box = OverlayButton(pygame.Rect(pos, size), image)
+        box.add_callback('clicked', clicked)
+        self.container.add(box)
+        return box
+
+    def back_event(self, ev, widget):
+        from mamba.habitats.mainmenu import MainMenu
+        NewHabitatEvent.post(MainMenu())
+        return True
+
+    def keydown_event(self, ev, widget):
+        if ev.key in ESCAPE_KEYS:
+            from mamba.habitats.mainmenu import MainMenu
+            NewHabitatEvent.post(MainMenu())
+            return True
--- a/mamba/habitats/mainmenu.py	Sat Sep 17 23:46:05 2011 +0200
+++ b/mamba/habitats/mainmenu.py	Sat Sep 17 23:58:21 2011 +0200
@@ -61,7 +61,8 @@
         return True
 
     def credits_event(self, ev, widget):
-        raise NotImplementedError("Shout at Adrianna")
+        from mamba.habitats.credits import CreditsHabitat
+        NewHabitatEvent.post(CreditsHabitat())
         return True
 
     def keydown_event(self, ev, widget):