diff gamelib/gameboard.py @ 573:ffdaac5d6cf8

Select is the default tool.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 28 Nov 2009 20:29:33 +0000
parents 2921169e545b
children 2899ddc4d92c
line wrap: on
line diff
--- a/gamelib/gameboard.py	Sat Nov 28 20:22:51 2009 +0000
+++ b/gamelib/gameboard.py	Sat Nov 28 20:29:33 2009 +0000
@@ -247,6 +247,9 @@
     def set_selected_tool(self, tool, cursor):
         if not self.day:
             return False
+        if tool is None:
+            tool = constants.TOOL_SELECT_CHICKENS
+            cursor = cursors.cursors['select']
         if self.apply_tool_to_selected(tool):
             return False # Using the tool on selected chickens is immediate
         self.selected_tool = tool
@@ -312,6 +315,9 @@
         self.day, self.night = False, True
         self.tv.sun(False)
         self.reset_states()
+        self.selected_tool = None
+        self.current_cursor = (cursors.cursors['arrow'],)
+        self.set_menu_cursor()
         self.unselect_all()
         self.toolbar.start_night()
         self.spawn_foxes()
@@ -356,17 +362,13 @@
         if not self.day:
             return
         if e.button == 3: # Right button
-            if self.toolbar.MOVE_SELECT_PERMITTED:
-                if self.selected_tool != constants.TOOL_SELECT_CHICKENS:
-                    self.set_selected_tool(constants.TOOL_SELECT_CHICKENS, cursors.cursors["select"])
-                elif self.selected_tool == constants.TOOL_SELECT_CHICKENS:
-                    self.set_selected_tool(constants.TOOL_PLACE_ANIMALS, cursors.cursors["chicken"])
-            if self.toolbar.IS_DEFAULT:
-                self.toolbar.highlight_move_select_button()
+            if self.selected_tool == constants.TOOL_SELECT_CHICKENS:
+                self.place_animal(self.tv.screen_to_tile(e.pos))
             return
         elif e.button == 2: # Middle button
             self.reset_states()
             self.unselect_all()
+            return
         elif e.button != 1: # Left button
             return
         mods = pygame.key.get_mods()
@@ -377,6 +379,7 @@
         elif self.selected_tool == constants.TOOL_PLACE_ANIMALS:
             self.place_animal(self.tv.screen_to_tile(e.pos))
             self.set_selected_tool(constants.TOOL_SELECT_CHICKENS, cursors.cursors["select"])
+            self.toolbar.unhighlight_move_button()
         elif self.selected_tool == constants.TOOL_SELECT_CHICKENS:
             # ctrl moves current selection without having to select move tool
             if (mods & KMOD_CTRL):
@@ -397,8 +400,7 @@
         elif equipment.is_equipment(self.selected_tool):
             if not self.selected_chickens:
                 # old selection behaviour
-                self.buy_equipment(self.tv.screen_to_tile(e.pos),
-                        self.selected_tool)
+                self.buy_equipment(self.tv.screen_to_tile(e.pos), self.selected_tool)
 
     def get_outside_chicken(self, tile_pos):
         for chick in self.chickens: