diff gamelib/menu.py @ 792:bdaffaa8b6bf pyntnclick

Loading and saving! (Plus a bunch of other stuff to make it possible.)
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 27 Jan 2013 12:43:28 +0200
parents f67bc162d69e
children 642564a3bedf
line wrap: on
line diff
--- a/gamelib/menu.py	Sat Jan 26 20:29:58 2013 +0200
+++ b/gamelib/menu.py	Sun Jan 27 12:43:28 2013 +0200
@@ -2,44 +2,17 @@
 # Copyright Boomslang team, 2010 (see COPYING File)
 # Main menu for the game
 
-import pygame.event
-from pygame.locals import QUIT
-from pyntnclick.engine import Screen
-from pyntnclick.widgets.imagebutton import ImageButtonWidget
+from pyntnclick.menuscreen import MenuScreen
 
 
-class MenuScreen(Screen):
-    def setup(self):
-        self._background = self.resource.get_image('splash/splash.png')
+class SSMenuScreen(MenuScreen):
+    BACKGROUND_IMAGE = 'splash/splash.png'
 
-        self.add_image_button((16, 523), 'splash/play.png', self.start)
-        self._resume_button = self.add_image_button((256, 523),
-                'splash/resume.png', self.resume)
-        self.add_image_button((580, 523), 'splash/quit.png', self.quit)
-
-    def add_image_button(self, rect, image_name, callback):
-        image = self.resource.get_image(image_name)
-        widget = ImageButtonWidget(rect, self.gd, image)
-        widget.add_callback('clicked', callback)
-        self.container.add(widget)
-        return widget
+    def make_new_game_button(self):
+        return self.make_image_button((16, 523), 'splash/play.png')
 
-    def draw_background(self):
-        self.surface.blit(self._background, self.surface.get_rect())
-
-    def on_enter(self):
-        super(MenuScreen, self).on_enter()
-        self._resume_button.visible = self.check_running()
+    def make_resume_game_button(self):
+        return self.make_image_button((256, 523), 'splash/resume.png')
 
-    def start(self, ev, widget):
-        self.screen_event('game', 'restart')
-        self.change_screen('game')
-
-    def check_running(self):
-        return self.gd.running
-
-    def resume(self, ev, widget):
-        self.change_screen('game')
-
-    def quit(self, ev, widget):
-        pygame.event.post(pygame.event.Event(QUIT))
+    def make_quit_button(self):
+        return self.make_image_button((580, 523), 'splash/quit.png')