Mercurial > rinkhals
comparison gamelib/gameboard.py @ 479:1689b43ed8be
Use KMOD_SHIFT to allow shift-click selecting of multiple chickens.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Wed, 25 Nov 2009 18:59:51 +0000 |
parents | 6974048bf04a |
children | 312120a99181 |
comparison
equal
deleted
inserted
replaced
478:6974048bf04a | 479:1689b43ed8be |
---|---|
1 import random | 1 import random |
2 | 2 |
3 import pygame | 3 import pygame |
4 from pygame.locals import MOUSEBUTTONDOWN, MOUSEMOTION, KEYDOWN, K_UP, K_DOWN, \ | 4 from pygame.locals import MOUSEBUTTONDOWN, MOUSEMOTION, KEYDOWN, K_UP, K_DOWN, \ |
5 K_LEFT, K_RIGHT | 5 K_LEFT, K_RIGHT, KMOD_SHIFT |
6 from pgu import gui | 6 from pgu import gui |
7 | 7 |
8 import tiles | 8 import tiles |
9 import icons | 9 import icons |
10 import constants | 10 import constants |
272 self.toolbar.clear_tool() | 272 self.toolbar.clear_tool() |
273 elif e.button == 2: # Middle button | 273 elif e.button == 2: # Middle button |
274 self.unselect_all() | 274 self.unselect_all() |
275 elif e.button != 1: # Left button | 275 elif e.button != 1: # Left button |
276 return | 276 return |
277 mods = pygame.key.get_mods() | |
277 if self.selected_tool == constants.TOOL_SELL_CHICKEN: | 278 if self.selected_tool == constants.TOOL_SELL_CHICKEN: |
278 self.sell_chicken(self.tv.screen_to_tile(e.pos)) | 279 self.sell_chicken(self.tv.screen_to_tile(e.pos)) |
279 elif self.selected_tool == constants.TOOL_SELL_EGG: | 280 elif self.selected_tool == constants.TOOL_SELL_EGG: |
280 self.sell_egg(self.tv.screen_to_tile(e.pos)) | 281 self.sell_egg(self.tv.screen_to_tile(e.pos)) |
281 elif self.selected_tool == constants.TOOL_PLACE_ANIMALS: | 282 elif self.selected_tool == constants.TOOL_PLACE_ANIMALS: |
282 self.place_animal(self.tv.screen_to_tile(e.pos)) | 283 self.place_animal(self.tv.screen_to_tile(e.pos)) |
283 elif self.selected_tool == constants.TOOL_SELECT_CHICKENS: | 284 elif self.selected_tool == constants.TOOL_SELECT_CHICKENS: |
285 if not (mods & KMOD_SHIFT): | |
286 self.unselect_all() | |
284 self.select_chicken(self.tv.screen_to_tile(e.pos)) | 287 self.select_chicken(self.tv.screen_to_tile(e.pos)) |
285 elif self.selected_tool == constants.TOOL_SELL_BUILDING: | 288 elif self.selected_tool == constants.TOOL_SELL_BUILDING: |
286 self.sell_building(self.tv.screen_to_tile(e.pos)) | 289 self.sell_building(self.tv.screen_to_tile(e.pos)) |
287 elif self.selected_tool == constants.TOOL_SELL_EQUIPMENT: | 290 elif self.selected_tool == constants.TOOL_SELL_EQUIPMENT: |
288 self.sell_equipment(self.tv.screen_to_tile(e.pos)) | 291 self.sell_equipment(self.tv.screen_to_tile(e.pos)) |