Example #1
0
    def show_ticker_scene(self, new_ticker=False):
        """
        Replace everything on screen with the scene displaying the drink ticker.
        If the engine is not yet running, this method will start a new engine
        and will block until the engine has stopped.
        """
        # Instantiate objects
        if not self._ticker_layer or new_ticker:
            self._ticker_layer = BottomTicker(screen_width=self._width)
        if not self._center_display_controller:
            self._center_display_controller = CenterDisplayController()
        if not self._title_layer:
            self._title_layer = TitleLayer()

        # Glue everything together
        self._ticker_layer.update_drinks(self._drinks)
        self._ticker_layer.on_focused_drink_changed += self._center_display_controller.drink_focused_changed

        # Show the scene
        scene = cocos.scene.Scene(self._ticker_layer,
                                  self._center_display_controller.get_layer(),
                                  self._title_layer)
        self._display_scene(scene)