示例#1
0
 def callback_client_receive(data):
     """Handle receiving data from host."""
     data: GameStateModel = JSONSerializer.deserialize(data)
     logger.debug(
         f"Client received {data.__class__.__name__} object from host.")
     # print(f"Client received {data.__class__.__name__} object from host.")
     if isinstance(data, GameStateModel):
         GameStateModel.set_game(data)
         return
     if isinstance(data, TurnEvent) or isinstance(data, ActionEvent):
         exec_thread = threading.Thread(target=data.execute)
         exec_thread.start()
示例#2
0
    def load_game(self, save):
        """Instantiate a new family game and move to the lobby scene."""
        data = save

        # Restore game metadata
        game: GameStateModel = JSONSerializer.deserialize(data)
        game.host = self._current_player
        game.players = [self._current_player]
        game._players_turn_index = 0

        # Restore GameBoard
        GameStateModel.set_game(game)
        game.game_board.is_loaded = True
        Networking.get_instance().create_host()
        EventQueue.post(CustomEvent(ChangeSceneEnum.LOBBYSCENE))