Пример #1
0
class Level(Screen):
    def init(self):
        self.add(VBox())

        coverflow_data = []
        #create a level image for every directory in the level directory.
        files = os.listdir(os.path.join(CONFIG.system_path, 'levels'))
        files.sort()

        for f in files:
            try:
                if 'level.xml' in os.listdir(
                        os.path.join(CONFIG.system_path, "levels", f)):
                    coverflow_data.append([])
                    coverflow_data[-1].append(f)
                    coverflow_data[-1].append(
                        join(CONFIG.system_path, "levels", f,
                             "screenshot.png"))
            except:
                logging.debug(str(f) + " is not a valid level.")

        self.coverflow = Coverflow(coverflow_data)
        self.widget.add(self.coverflow, size=(800, 275))
        self.widget.add(Button(_('Go !')), margin_left=290)
        self.widget.add(Button(_('Back')),
                        size=(150, 40),
                        margin_left=20,
                        margin=20)

    def get_level(self):
        return self.coverflow.get_value()

    def callback(self, action):
        if action.text == _('Go !'):
            return {'game': 'new'}

        if action.text == _('Back'):
            return {'goto': 'back'}