Example #1
0
 def _back_transition():
     layer_.remove_from_scene()
     target = self.ctrl.get(
         'select_deck'
     ) if self.where_come_from is None else self.where_come_from
     director.director.replace(
         transitions.FadeTransition(target, duration=0.5))
Example #2
0
    def _on_start_game(self):
        _deck_data = self._rb_list_deck['data']
        if _deck_data['selected'] is None:
            notice(self, 'Must select a deck!')
            return
        difficulty = self._rb_group_diff['data']['value']
        if difficulty is None:
            notice(self, 'Must select a difficulty!')
            return
        ai_class = self._rb_group_ai_class['data']['value']
        if ai_class is None:
            notice(self, 'Must select a class as opponent!')
            return

        self.ctrl.game = Game()

        inn_keeper = get_inn_keeper()
        inn_keeper.create_agent(self.ctrl.game, player_id=1)

        self.ctrl.get_node('game/board').prepare_start_game(
            self.ctrl.game, [
                _deck_data['selected'],
                PracticeDecks['Expert' if difficulty else 'Normal'][ai_class]
            ],
            users=[self.ctrl.user, inn_keeper],
            main_player_id=0,
            where_come_from=self.ctrl.get('adventure'))

        director.director.replace(
            transitions.FadeTransition(self.ctrl.get('game'), duration=0.5))
Example #3
0
 def on_quit(self):
     if self.where_come_from is None:
         self.parent.switch_to(MainLayer.MainID)
     else:
         main_scene = self.ctrl.get('main')
         if self.where_come_from is main_scene:
             self.parent.switch_to(MainLayer.MainID)
         else:
             director.director.replace(transitions.FadeTransition(self.where_come_from, duration=1.0))
Example #4
0
    def go_back(self):
        self.ctrl.get_node('main/main').switch_to(0)

        main_scene = self.ctrl.get('main')
        if director.director.scene is main_scene:
            # Transition to the same scene will cause error.
            return

        director.director.replace(
            transitions.FadeTransition(main_scene, duration=1.0))
Example #5
0
    def goto_options(self):
        main_layer = self.ctrl.get_node('main/main')
        main_layer.switch_to(main_layer.OptionsID)

        # Record the scene that come from.
        options_menu = main_layer.get_options_menu()
        options_menu.where_come_from = director.director.scene

        main_scene = self.ctrl.get('main')
        if director.director.scene is main_scene:
            return
        director.director.replace(
            transitions.FadeTransition(main_scene, duration=1.0))
Example #6
0
    def _on_start_game(self):
        if any(map(lambda e: e is None, self.selected_decks)):
            notice(self, 'Must select two decks!')
            return
        # Create new game, register callback and start game.
        self.ctrl.game = Game()
        self.ctrl.get_node('game/board').prepare_start_game(
            self.ctrl.game,
            self.selected_decks,
            users=[self.ctrl.user, self.ctrl.user],
            main_player_id=None,
        )

        director.director.replace(
            transitions.FadeTransition(self.ctrl.get('game'), duration=0.5))
Example #7
0
 def on_collections(self):
     director.director.replace(transitions.FadeTransition(self.ctrl.scenes['collection'], duration=1.0))
Example #8
0
 def on_new_adventure(self):
     director.director.replace(transitions.FadeTransition(self.ctrl.scenes['adventure'], duration=1.0))
Example #9
0
 def on_new_game(self):
     director.director.replace(transitions.FadeTransition(self.ctrl.scenes['select_deck'], duration=1.0))
Example #10
0
 def on_mouse_press(self, *args):
     director.replace(transitions.FadeTransition(menu(), duration=.25))
     return True