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