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()
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))