class_docstr: Env presenting ConvertedEnvironment as multiple single player streams.
class_docstr_tok: ["Env","presenting","ConvertedEnvironment","as","multiple","single","player","streams","."]
docstr: Waits for the other player (if there is one) to reach this point.
docstr_tok: ["Waits","for","the","other","player","(","if","there","is","one",")","to","reach","this","point","."]
code: def _wait_for_other_player(self):
      """Waits for the other player (if there is one) to reach this point."""
      if self._num_players == 1:
          return
      try:
          self._barrier.wait(_BARRIER_TIMEOUT)
      except threading.BrokenBarrierError:
          raise TimeoutError("Timed out waiting for other player")
  
imports: import functools
  import threading
  from typing import Any, Mapping, NamedTuple, Sequence
  import dm_env
  import numpy
  from pysc2.env.converter import converter
  from pysc2.env.converter.proto import converter_pb2
  from pysc2.lib import actions
  import tree
  import typing_extensions
  from s2clientprotocol import common_pb2
  from s2clientprotocol import raw_pb2
  from s2clientprotocol import sc2api_pb2
label_desc: Use image node_id 8 for calling the _StreamedEnvironment obj's underlying member method code with example usage: obj._wait_for_other_player() without return types