comparison gamelib/gameboard.py @ 203:653da96db572

Fixed dangling cursor sprite and did some TODO list maintenance.
author Jeremy Thurgood <firxen@gmail.com>
date Fri, 04 Sep 2009 20:25:32 +0000
parents 3074784c93f4
children f82d17f99882
comparison
equal deleted inserted replaced
202:3074784c93f4 203:653da96db572
247 self.tv.loop() 247 self.tv.loop()
248 248
249 def set_selected_tool(self, tool, cursor): 249 def set_selected_tool(self, tool, cursor):
250 self.selected_tool = tool 250 self.selected_tool = tool
251 self.select_animal_to_place(None) 251 self.select_animal_to_place(None)
252 sprite_curs = None
253 if buildings.is_building(tool):
254 sprite_curs = sprite_cursor.SpriteCursor(tool.IMAGE, self.tv)
255 self.set_cursor(cursor, sprite_curs)
256
257 def set_cursor(self, cursor=None, sprite_curs=None):
252 if cursor: 258 if cursor:
253 pygame.mouse.set_cursor(*cursor) 259 pygame.mouse.set_cursor(*cursor)
254 else: 260 else:
255 pygame.mouse.set_cursor(*cursors.cursors['arrow']) 261 pygame.mouse.set_cursor(*cursors.cursors['arrow'])
256 if self.sprite_cursor: 262 if self.sprite_cursor:
257 self.tv.sprites.remove(self.sprite_cursor) 263 self.tv.sprites.remove(self.sprite_cursor)
258 self.sprite_cursor = None 264 self.sprite_cursor = None
259 if buildings.is_building(tool): 265 if sprite_curs:
260 self.sprite_cursor = sprite_cursor.SpriteCursor(tool.IMAGE, self.tv) 266 self.sprite_cursor = sprite_curs
261 self.tv.sprites.append(self.sprite_cursor) 267 self.tv.sprites.append(self.sprite_cursor)
262 268
263 def reset_cursor(self):
264 pygame.mouse.set_cursor(*cursors.cursors['arrow'])
265 269
266 def update_sprite_cursor(self, e): 270 def update_sprite_cursor(self, e):
267 tile_pos = self.tv.screen_to_tile(e.pos) 271 tile_pos = self.tv.screen_to_tile(e.pos)
268 self.sprite_cursor.set_pos(tile_pos) 272 self.sprite_cursor.set_pos(tile_pos)
269 273
277 return True 281 return True
278 282
279 def use_tool(self, e): 283 def use_tool(self, e):
280 if e.button == 3: # Right button 284 if e.button == 3: # Right button
281 self.selected_tool = None 285 self.selected_tool = None
282 self.reset_cursor() 286 self.set_cursor()
283 elif e.button != 1: # Left button 287 elif e.button != 1: # Left button
284 return 288 return
285 if self.selected_tool == constants.TOOL_SELL_CHICKEN: 289 if self.selected_tool == constants.TOOL_SELL_CHICKEN:
286 self.sell_chicken(self.tv.screen_to_tile(e.pos)) 290 self.sell_chicken(self.tv.screen_to_tile(e.pos))
287 elif self.selected_tool == constants.TOOL_SELL_EGG: 291 elif self.selected_tool == constants.TOOL_SELL_EGG: