Mercurial > rinkhals
comparison gamelib/gameboard.py @ 262:d508248041ff
avoid passing events in twice
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 05 Sep 2009 13:36:00 +0000 |
parents | d564ae258471 |
children | 812bd4cda8b8 |
comparison
equal
deleted
inserted
replaced
261:86291107d67a | 262:d508248041ff |
---|---|
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, K_LEFT, K_RIGHT | 4 from pygame.locals import MOUSEBUTTONDOWN, MOUSEMOTION, KEYDOWN, K_UP, K_DOWN, \ |
5 K_LEFT, K_RIGHT | |
5 from pgu import gui | 6 from pgu import gui |
6 | 7 |
7 import data | 8 import data |
8 import tiles | 9 import tiles |
9 import icons | 10 import icons |
558 | 559 |
559 building.selected(True) | 560 building.selected(True) |
560 def close_callback(): | 561 def close_callback(): |
561 building.selected(False) | 562 building.selected(False) |
562 | 563 |
564 def evict_callback(): | |
565 print 'evict called', self.animal_to_place | |
566 | |
567 if not sell_callback: | |
568 tbl.tr() | |
569 button = gui.Button('Evict') | |
570 button.connect(gui.CLICK, evict_callback) | |
571 tbl.td(button, colspan=2, **kwargs) | |
572 | |
563 self.open_dialog(tbl, close_callback=close_callback) | 573 self.open_dialog(tbl, close_callback=close_callback) |
564 | 574 |
565 def buy_fence(self, tile_pos): | 575 def buy_fence(self, tile_pos): |
566 this_tile = self.tv.get(tile_pos) | 576 this_tile = self.tv.get(tile_pos) |
567 if this_tile not in [self.GRASSLAND, self.BROKEN_FENCE]: | 577 if this_tile not in [self.GRASSLAND, self.BROKEN_FENCE]: |
662 tbl.td(button, align=1, **kwargs) | 672 tbl.td(button, align=1, **kwargs) |
663 | 673 |
664 dialog = self.open_dialog(tbl) | 674 dialog = self.open_dialog(tbl) |
665 | 675 |
666 def event(self, e): | 676 def event(self, e): |
667 if e.type == KEYDOWN: | 677 if e.type == KEYDOWN and e.key in [K_UP, K_DOWN, K_LEFT, K_RIGHT]: |
668 if e.key == K_UP: | 678 if e.key == K_UP: |
669 self.tvw.move_view(0, -self.TILE_DIMENSIONS[1]) | 679 self.tvw.move_view(0, -self.TILE_DIMENSIONS[1]) |
670 if e.key == K_DOWN: | 680 if e.key == K_DOWN: |
671 self.tvw.move_view(0, self.TILE_DIMENSIONS[1]) | 681 self.tvw.move_view(0, self.TILE_DIMENSIONS[1]) |
672 if e.key == K_LEFT: | 682 if e.key == K_LEFT: |
673 self.tvw.move_view(-self.TILE_DIMENSIONS[0], 0) | 683 self.tvw.move_view(-self.TILE_DIMENSIONS[0], 0) |
674 if e.key == K_RIGHT: | 684 if e.key == K_RIGHT: |
675 self.tvw.move_view(self.TILE_DIMENSIONS[0], 0) | 685 self.tvw.move_view(self.TILE_DIMENSIONS[0], 0) |
676 else: | 686 return True |
677 self.disp.event(e) | 687 return False |
678 | 688 |
679 def advance_day(self): | 689 def advance_day(self): |
680 self.days += 1 | 690 self.days += 1 |
681 self.toolbar.update_day_counter(self.days) | 691 self.toolbar.update_day_counter(self.days) |
682 | 692 |