comparison mamba/habitats/level.py @ 531:dee11e9a37b0

Caption fiddling
author Neil Muller <drnlmuller@gmail.com>
date Sun, 18 Sep 2011 01:10:32 +0200
parents 30ce046d08c3
children 6a4f9a2f6820
comparison
equal deleted inserted replaced
530:111c3a6274ec 531:dee11e9a37b0
1 """Where a level object hides.""" 1 """Where a level object hides."""
2 2
3 import pygame.display
3 from pygame.locals import KEYDOWN 4 from pygame.locals import KEYDOWN
4 5
5 from mamba.constants import ESCAPE_KEYS 6 from mamba.constants import ESCAPE_KEYS, NAME
6 from mamba.engine import Habitat, LevelCompletedEvent, SnakeDiedEvent 7 from mamba.engine import Habitat, LevelCompletedEvent, SnakeDiedEvent
7 from mamba.gamestate import level_done 8 from mamba.gamestate import level_done
8 from mamba.widgets.game import GameWidget 9 from mamba.widgets.game import GameWidget
9 from mamba.widgets.messagebox import MessageBox 10 from mamba.widgets.messagebox import MessageBox
10 from mamba.world import World 11 from mamba.world import World
14 def __init__(self, level, go_menu, go_next_level): 15 def __init__(self, level, go_menu, go_next_level):
15 super(LevelHabitat, self).__init__() 16 super(LevelHabitat, self).__init__()
16 self.go_menu = go_menu 17 self.go_menu = go_menu
17 self.go_next_level = go_next_level 18 self.go_next_level = go_next_level
18 self.world = World(level) 19 self.world = World(level)
20 self.level_name = level.name
19 self.game_widget = GameWidget(self.world) 21 self.game_widget = GameWidget(self.world)
20 self.container.add(self.game_widget) 22 self.container.add(self.game_widget)
21 self.container.add_callback(KEYDOWN, self.keydown_event) 23 self.container.add_callback(KEYDOWN, self.keydown_event)
22 self.container.add_callback(LevelCompletedEvent, self.level_completed) 24 self.container.add_callback(LevelCompletedEvent, self.level_completed)
23 self.container.add_callback(SnakeDiedEvent, self.snake_died) 25 self.container.add_callback(SnakeDiedEvent, self.snake_died)
25 def keydown_event(self, ev, widget): 27 def keydown_event(self, ev, widget):
26 if ev.key in ESCAPE_KEYS: 28 if ev.key in ESCAPE_KEYS:
27 self.world.pause() 29 self.world.pause()
28 self.go_menu() 30 self.go_menu()
29 return True 31 return True
32
33 def on_enter(self):
34 """Set the caption to the level name"""
35 super(LevelHabitat, self).on_enter()
36 pygame.display.set_caption('%s: %s' % (NAME, self.level_name))
37
38 def on_exit(self):
39 """Fix name"""
40 super(LevelHabitat, self).on_exit()
41 pygame.display.set_caption(NAME)
30 42
31 def level_completed(self, ev, widget): 43 def level_completed(self, ev, widget):
32 if not self.world.pause(): 44 if not self.world.pause():
33 return False 45 return False
34 self.display_dialog( 46 self.display_dialog(