diff gamelib/gamescreen.py @ 100:b5b6cbf556e6

Make start new game start a new game. Add Resume to main menu
author Neil Muller <neil@dip.sun.ac.za>
date Tue, 24 Aug 2010 08:48:50 +0200
parents 367b1c9c3c6d
children 65976205fc2d
line wrap: on
line diff
--- 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)