# HG changeset patch # User Neil Muller # Date 1282632530 -7200 # Node ID b5b6cbf556e69c4de86ea8cf9df3be856c727e85 # Parent 367b1c9c3c6df174c350a9c547f026170ca23c9a Make start new game start a new game. Add Resume to main menu diff -r 367b1c9c3c6d -r b5b6cbf556e6 gamelib/gamescreen.py --- a/gamelib/gamescreen.py Tue Aug 24 08:16:56 2010 +0200 +++ b/gamelib/gamescreen.py Tue Aug 24 08:48:50 2010 +0200 @@ -126,13 +126,20 @@ class GameScreen(Screen): def __init__(self, shell): Screen.__init__(self, shell) + self.running = False + def _clear_all(self): + for widget in self.subwidgets[:]: + self.remove(widget) + + def start_game(self): + self._clear_all() # TODO: Randomly plonk the state here for now self.state = initial_state() self.state_widget = StateWidget(self.state) self.add(self.state_widget) - self.popup_menu = PopupMenu(shell) + self.popup_menu = PopupMenu(self.shell) self.menubutton = PopupMenuButton('Menu', action=self.popup_menu.show_menu) @@ -153,8 +160,7 @@ self.detail = DetailWindow(self.state) - # Test items - self.state.add_inventory_item('triangle') + self.running = True def show_detail(self): self.state_widget.add_centered(self.detail) diff -r 367b1c9c3c6d -r b5b6cbf556e6 gamelib/menu.py --- a/gamelib/menu.py Tue Aug 24 08:16:56 2010 +0200 +++ b/gamelib/menu.py Tue Aug 24 08:48:50 2010 +0200 @@ -10,17 +10,28 @@ def __init__(self, shell): Screen.__init__(self, shell) StartButton = Button('Start New Game', action = self.start) + ResumeButton = Button('Resume Game', action = self.resume, + enable=self.check_running) QuitButton = Button('Quit', action = shell.quit) Title = Label('Suspended Sentence') menu = Column([ Title, StartButton, + ResumeButton, QuitButton, ], align='l', spacing=20) self.add_centered(menu) def start(self): - print 'Starting the game' + self.shell.game_screen.start_game() self.shell.show_screen(self.shell.game_screen) + def check_running(self): + return self.shell.game_screen.running + def resume(self): + if self.shell.game_screen.running: + self.shell.show_screen(self.shell.game_screen) + + +