Mercurial > sypikslang
comparison gamelib/gamegui.py @ 215:0a441ded8a83
Always sort widgets, so jumping through json doesn't change the order
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 12 May 2012 20:38:44 +0200 |
parents | 16ce5ed563c9 |
children | 9a1a169497c6 |
comparison
equal
deleted
inserted
replaced
214:d378459567bb | 215:0a441ded8a83 |
---|---|
348 self._equip = [] | 348 self._equip = [] |
349 x = 0 | 349 x = 0 |
350 y = max(250, 130 + self.description.rect.height + | 350 y = max(250, 130 + self.description.rect.height + |
351 20 * len(self._inventory) // 3) | 351 20 * len(self._inventory) // 3) |
352 available = self.game.get_available_equipment() | 352 available = self.game.get_available_equipment() |
353 for equip in self.game.get_all_equipment(): | 353 for equip in sorted(self.game.get_all_equipment(), |
354 key=lambda x: x.NAME): | |
354 copies = self.parent.equipment.count(equip) | 355 copies = self.parent.equipment.count(equip) |
355 widget = EquipWidget(equip, (x, y), self, copies, | 356 widget = EquipWidget(equip, (x, y), self, copies, |
356 equip in available) | 357 equip in available) |
357 self._equip.append(widget) | 358 self._equip.append(widget) |
358 self.add_child(widget) | 359 self.add_child(widget) |
500 for widget in self._missions: | 501 for widget in self._missions: |
501 self.remove_child(widget) | 502 self.remove_child(widget) |
502 self._missions = [] | 503 self._missions = [] |
503 x = 0 | 504 x = 0 |
504 y = 150 | 505 y = 150 |
505 for mission in self.game.get_available_missions(): | 506 for mission in sorted(self.game.get_available_missions(), |
507 key=lambda x: x.NAME): | |
506 widget = MissionWidget(mission, (x, y), self) | 508 widget = MissionWidget(mission, (x, y), self) |
507 self._missions.append(widget) | 509 self._missions.append(widget) |
508 self.add_child(widget) | 510 self.add_child(widget) |
509 x += widget.WIDTH + 10 | 511 x += widget.WIDTH + 10 |
510 if x >= WIDTH: | 512 if x >= WIDTH: |
571 for widget in self._sciences: | 573 for widget in self._sciences: |
572 self.remove_child(widget) | 574 self.remove_child(widget) |
573 self._sciences = [] | 575 self._sciences = [] |
574 x = 0 | 576 x = 0 |
575 y = 150 | 577 y = 150 |
576 for science in self.game.lab.science: | 578 for science in sorted(self.game.lab.science, key=lambda x: x.NAME): |
577 if science.SCIENCE_TYPE == 'schematic': | 579 if science.SCIENCE_TYPE == 'schematic': |
578 widget = ScienceWidget(science, (x, y), self) | 580 widget = ScienceWidget(science, (x, y), self) |
579 self.add_child(widget) | 581 self.add_child(widget) |
580 self._sciences.append(widget) | 582 self._sciences.append(widget) |
581 x += widget.WIDTH + 10 | 583 x += widget.WIDTH + 10 |
641 for widget in self._sciences: | 643 for widget in self._sciences: |
642 self.remove_child(widget) | 644 self.remove_child(widget) |
643 self._sciences = [] | 645 self._sciences = [] |
644 x = 0 | 646 x = 0 |
645 y = 150 | 647 y = 150 |
646 for science in self.game.lab.science: | 648 for science in sorted(self.game.lab.science, key=lambda x: x.NAME): |
647 if science.SCIENCE_TYPE == 'research': | 649 if science.SCIENCE_TYPE == 'research': |
648 widget = ScienceWidget(science, (x, y), self) | 650 widget = ScienceWidget(science, (x, y), self) |
649 self.add_child(widget) | 651 self.add_child(widget) |
650 self._sciences.append(widget) | 652 self._sciences.append(widget) |
651 x += widget.WIDTH + 10 | 653 x += widget.WIDTH + 10 |