Mercurial > rinkhals
diff gamelib/mainmenu.py @ 532:0667189a5973
New load level dialog.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Fri, 27 Nov 2009 21:28:20 +0000 |
parents | b112bcf4d435 |
children | 296c73dcd286 |
line wrap: on
line diff
--- a/gamelib/mainmenu.py Fri Nov 27 21:18:18 2009 +0000 +++ b/gamelib/mainmenu.py Fri Nov 27 21:28:20 2009 +0000 @@ -7,6 +7,7 @@ import imagecache import gameboard import savegame +import loadlevel def make_main_menu(level): """Create a main menu""" @@ -31,6 +32,7 @@ def __init__(self, level, **params): gui.Table.__init__(self, **params) self.mode = None + self.level_name = level.level_name def fullscreen_toggled(): pygame.display.toggle_fullscreen() @@ -42,7 +44,11 @@ pygame.event.post(engine.START_DAY) def choose_level(): - pygame.event.post(engine.GO_LEVEL_SCREEN) + def load_func(new_level): + pygame.event.post(pygame.event.Event(engine.DO_LOAD_LEVEL, level=new_level)) + self.level_name = new_level.level_name + self.redraw() + loadlevel.LoadLevelDialog(level, load_func).open() def load_game(): savegame.RestoreDialog(gameboard.GameBoard.restore_game).open() @@ -63,10 +69,10 @@ self.tr() self.td(change_button, **td_kwargs) - start_button = gui.Button(level.level_name) - start_button.connect(gui.CLICK, start_game) + self.start_button = gui.Button(level.level_name) + self.start_button.connect(gui.CLICK, start_game) self.tr() - self.td(start_button, **td_kwargs) + self.td(self.start_button, **td_kwargs) loadgame_button = gui.Button('Restore Game') loadgame_button.connect(gui.CLICK, load_game) @@ -90,3 +96,6 @@ self.tr() self.td(quit_button, **td_kwargs) + + def redraw(self): + self.start_button.value = self.level_name