Mercurial > rinkhals
comparison gamelib/gameboard.py @ 201:fe1e9c18d4d7
layering bugfix; indoor chickens now use normal chicken icons
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Fri, 04 Sep 2009 20:16:51 +0000 |
parents | 67d10f7e0159 |
children | 3074784c93f4 |
comparison
equal
deleted
inserted
replaced
200:67d10f7e0159 | 201:fe1e9c18d4d7 |
---|---|
347 if building: | 347 if building: |
348 if self.animal_to_place: | 348 if self.animal_to_place: |
349 try: | 349 try: |
350 place = building.first_empty_place() | 350 place = building.first_empty_place() |
351 self.relocate_animal(self.animal_to_place, place=place) | 351 self.relocate_animal(self.animal_to_place, place=place) |
352 self.animal_to_place.equip(equipment.Nest()) | |
352 self.select_animal_to_place(None) | 353 self.select_animal_to_place(None) |
353 pygame.mouse.set_cursor(*cursors.cursors['select']) | 354 pygame.mouse.set_cursor(*cursors.cursors['select']) |
354 except buildings.BuildingFullError: | 355 except buildings.BuildingFullError: |
355 pass | 356 pass |
356 else: | 357 else: |
357 self.open_building_dialog(building) | 358 self.open_building_dialog(building) |
358 return | 359 return |
359 if self.tv.get(tile_pos) == self.GRASSLAND: | 360 if self.tv.get(tile_pos) == self.GRASSLAND: |
360 if self.animal_to_place is not None: | 361 if self.animal_to_place is not None: |
362 self.animal_to_place.unequip_by_name("nest") | |
361 self.relocate_animal(self.animal_to_place, tile_pos=tile_pos) | 363 self.relocate_animal(self.animal_to_place, tile_pos=tile_pos) |
362 | 364 |
363 def relocate_animal(self, chicken, tile_pos=None, place=None): | 365 def relocate_animal(self, chicken, tile_pos=None, place=None): |
364 assert((tile_pos, place) != (None, None)) | 366 assert((tile_pos, place) != (None, None)) |
365 if chicken.abode is not None: | 367 if chicken.abode is not None: |
420 sell_callback) | 422 sell_callback) |
421 | 423 |
422 def set_occupant(place, button, sell_callback): | 424 def set_occupant(place, button, sell_callback): |
423 """Set occupant of a given place.""" | 425 """Set occupant of a given place.""" |
424 if self.animal_to_place is not None: | 426 if self.animal_to_place is not None: |
425 button.value = icons.CHKN_NEST_ICON | 427 button.value = icons.animal_icon(self.animal_to_place) |
426 button.disconnect(gui.CLICK, set_occupant) | 428 button.disconnect(gui.CLICK, set_occupant) |
427 button.connect(gui.CLICK, select_occupant, place, button, | 429 button.connect(gui.CLICK, select_occupant, place, button, |
428 sell_callback) | 430 sell_callback) |
429 | 431 |
430 old_abode = self.animal_to_place.abode | 432 old_abode = self.animal_to_place.abode |
452 if place.occupant is None: | 454 if place.occupant is None: |
453 button = gui.Button(icons.EMPTY_NEST_ICON) | 455 button = gui.Button(icons.EMPTY_NEST_ICON) |
454 button.connect(gui.CLICK, set_occupant, place, button, | 456 button.connect(gui.CLICK, set_occupant, place, button, |
455 sell_callback) | 457 sell_callback) |
456 else: | 458 else: |
457 button = gui.Button(icons.CHKN_NEST_ICON) | 459 button = gui.Button(icons.animal_icon(place.occupant)) |
458 button.connect(gui.CLICK, select_occupant, place, button, | 460 button.connect(gui.CLICK, select_occupant, place, button, |
459 sell_callback) | 461 sell_callback) |
460 place_button_map[id(place)] = button | 462 place_button_map[id(place)] = button |
461 tbl.td(button, **kwargs) | 463 tbl.td(button, **kwargs) |
462 | 464 |