-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame_event.py
executable file
·105 lines (80 loc) · 2.32 KB
/
game_event.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
class Event(object):
def set_game(self, game):
self.game = game
def do(self):
raise Exception("Implement 'do' method.")
class ResumeEvent(Event):
def do(self):
self.game.resume()
class NewGameEvent(Event):
def do(self):
self.game.start_new_game()
class QuitEvent(Event):
def do(self):
self.game.quit()
class EnterMenuEvent(Event):
def __init__(self, menu):
Event.__init__(self)
self.menu = menu
def do(self):
self.game.enter_menu(self.menu)
class MenuBackEvent(Event):
def do(self):
self.game.back_menu()
class ToggleMusicEvent(Event):
def do(self):
self.game.settings['music'] = not self.game.settings['music']
if self.game.settings['music']:
self.game.sound_manager.trigger_music("movemovemove.ogg")
else:
self.game.sound_manager.end_music()
class ToggleSoundEvent(Event):
def do(self):
self.game.settings['sound'] = not self.game.settings['sound']
class ToggleDebugEvent(Event):
def do(self):
self.game.settings['debug'] = not self.game.settings['debug']
class ToggleHotSwapEvent(Event):
def do(self):
self.game.settings['hot_swap'] = not self.game.settings['hot_swap']
class AdvanceLevelEvent:
def __init__(self, level):
self.level = level
def set_game(self, game):
self.game = game
def do(self):
if self.game.level is self.level:
self.game.advance_level()
class RestartLevelEvent:
def __init__(self, level):
self.level = level
def set_game(self, game):
self.game = game
def do(self):
if self.game.level is self.level:
self.game.restart_level()
class GoToLevelEvent(Event):
def __init__(self, level):
self.level = level
def do(self):
self.game.go_to_level(self.level)
class PlayMusicEvent:
def __init__(self, level, name, volume=1.0):
self.level = level
self.name = name
self.volume = volume
def set_game(self, game):
self.game = game
def do(self):
if self.game.level is self.level:
self.game.sound_manager.trigger_music(self.name, self.volume)
class PlaySoundEvent:
def __init__(self, level, name, volume=1.0):
self.level = level
self.name = name
self.volume = volume
def set_game(self, game):
self.game = game
def do(self):
if self.game.level is self.level:
self.game.sound_manager.trigger_sound(self.name, self.volume)