changeset 541:450de9dfa106

Move gameboard event prodding into the widgets - better matches pgu internals
author Neil Muller <drnlmuller@gmail.com>
date Sat, 28 Nov 2009 10:02:38 +0000
parents 882b582da618
children baf75d5ee50d
files gamelib/engine.py gamelib/gameboard.py gamelib/toolbar.py
diffstat 3 files changed, 10 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/engine.py	Sat Nov 28 09:58:40 2009 +0000
+++ b/gamelib/engine.py	Sat Nov 28 10:02:38 2009 +0000
@@ -67,11 +67,7 @@
         self.open_window(game_over)
 
     def event(self, e):
-        if not Game.event(self, e):
-            if self.gameboard:
-                return self.gameboard.event(e)
-            return False
-        return True
+        return Game.event(self, e)
 
 
 class MainMenuState(State):
--- a/gamelib/gameboard.py	Sat Nov 28 09:58:40 2009 +0000
+++ b/gamelib/gameboard.py	Sat Nov 28 10:02:38 2009 +0000
@@ -40,6 +40,9 @@
             self.gameboard.use_tool(e)
         elif e.type == MOUSEMOTION and self.gameboard.sprite_cursor:
             self.gameboard.update_sprite_cursor(e)
+        else:
+            return self.gameboard.event(e)
+        return True
 
 
 class AnimalPositionCache(object):
@@ -836,6 +839,7 @@
                 self.stored_selections[e.key] = self.selected_chickens[:]
             else:
                 self.restore_selection(self.stored_selections.get(e.key, []))
+            return True
         elif e.type == KEYDOWN:
             mods = pygame.key.get_mods()
             if mods & KMOD_CTRL and self.selected_tool == constants.TOOL_SELECT_CHICKENS and self.selected_chickens:
--- a/gamelib/toolbar.py	Sat Nov 28 09:58:40 2009 +0000
+++ b/gamelib/toolbar.py	Sat Nov 28 10:02:38 2009 +0000
@@ -248,6 +248,11 @@
         width = constants.TOOLBAR_WIDTH
         return width, height
 
+    def event(self, e):
+        if not gui.Table.event(self, e):
+            return self.gameboard.event(e)
+        return True
+
 class DefaultToolBar(BaseToolBar):
 
     IS_DEFAULT = True