# HG changeset patch # User Jeremy Thurgood # Date 1259403117 0 # Node ID baf75d5ee50d4bb33ee509799ebd740f083b85db # Parent 450de9dfa1065c7a5501c5359186b974dad41ecf Shift+group to add to current selection. diff -r 450de9dfa106 -r baf75d5ee50d gamelib/gameboard.py --- a/gamelib/gameboard.py Sat Nov 28 10:02:38 2009 +0000 +++ b/gamelib/gameboard.py Sat Nov 28 10:11:57 2009 +0000 @@ -838,7 +838,8 @@ # store current selection self.stored_selections[e.key] = self.selected_chickens[:] else: - self.restore_selection(self.stored_selections.get(e.key, [])) + additive = (mods & KMOD_SHIFT) + self.restore_selection(self.stored_selections.get(e.key, []), additive) return True elif e.type == KEYDOWN: mods = pygame.key.get_mods() @@ -850,8 +851,9 @@ pygame.mouse.set_cursor(*cursors.cursors['select']) return False - def restore_selection(self, selection): - self.unselect_all() + def restore_selection(self, selection, additive=False): + if not additive: + self.unselect_all() for chick in selection[:]: if chick in self.chickens: self.select_animal(chick)