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