Mercurial > rinkhals
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: |