class_docstr: A Starcraft II environment.
  
  The implementation details of the action and observation specs are in
  lib/features.py
docstr: Send any delayed actions scheduled for up to the specified game loop.
docstr_tok: ["Send","any","delayed","actions","scheduled","for","up","to","the","specified","game","loop","."]
code: def _send_delayed_actions(self, up_to_game_loop, current_game_loop):
      """Send any delayed actions scheduled for up to the specified game loop."""
      assert not self._realtime
      while True:
          if not any(self._delayed_actions):  # No queued actions
              return current_game_loop
  
          act_game_loop = min(
              d[0].game_loop for d in self._delayed_actions if d
          )
          if act_game_loop > up_to_game_loop:
              return current_game_loop
  
          self._step_to(act_game_loop, current_game_loop)
          current_game_loop = act_game_loop
          if self._controllers[0].status_ended:
              # We haven't observed and may have hit game end.
              return current_game_loop
  
          actions = []
          for d in self._delayed_actions:
              if d and d[0].game_loop == current_game_loop:
                  delayed_action = d.popleft()
                  actions.append(delayed_action.action)
              else:
                  actions.append(None)
          self._parallel.run(
              (c.act, a) for c, a in zip(self._controllers, actions)
          )
  
imports: import collections
  import copy
  import random
  import time
  from absl import logging
  from pysc2 import maps
  from pysc2 import run_configs
  from pysc2.env import enums
  from pysc2.env import environment
  from pysc2.lib import actions
  from pysc2.lib import features
  from pysc2.lib import metrics
  from pysc2.lib import portspicker
  from pysc2.lib import renderer_human
  from pysc2.lib import run_parallel
  from pysc2.lib import stopwatch
  from s2clientprotocol import sc2api_pb2
label_desc: Use image node_id 17 for calling the SC2Env obj's underlying member method code with example usage: obj._send_delayed_actions(up_to_game_loop, current_game_loop) and returns: current_game_loop, current_game_loop, current_game_loop