1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 from Scene import SceneServer, SceneClient
24 import Player
25 import Dialogs
26 import Song
27 import Config
28 from Language import _
29
30
31 Config.define("game", "selected_library", str, "")
32 Config.define("game", "selected_song", str, "")
33
36
39
41 - def createClient(self, libraryName = None, songName = None):
42 self.wizardStarted = False
43 self.libraryName = libraryName
44 self.songName = songName
45
46 - def run(self, ticks):
47 SceneClient.run(self, ticks)
48
49 if not self.wizardStarted:
50 self.wizardStarted = True
51
52 if not self.songName:
53 while True:
54 self.libraryName, self.songName = \
55 Dialogs.chooseSong(self.engine, \
56 selectedLibrary = Config.get("game", "selected_library"),
57 selectedSong = Config.get("game", "selected_song"))
58
59 if not self.songName:
60 self.session.world.finishGame()
61 return
62
63 Config.set("game", "selected_library", self.libraryName)
64 Config.set("game", "selected_song", self.songName)
65
66 info = Song.loadSongInfo(self.engine, self.songName, library = self.libraryName)
67 d = Dialogs.chooseItem(self.engine, info.difficulties,
68 _("Choose a difficulty:"), selected = self.player.difficulty)
69 if d:
70 self.player.difficulty = d
71 break
72 else:
73 info = Song.loadSongInfo(self.engine, self.songName, library = self.libraryName)
74
75
76 if not self.player.difficulty in info.difficulties:
77 self.player.difficulty = info.difficulties[0]
78
79 self.session.world.deleteScene(self)
80 self.session.world.createScene("GuitarScene", libraryName = self.libraryName, songName = self.songName)
81