class_docstr: VecEnv that does runs multiple environments sequentially, that is,
  the step and reset commands are send to one environment at a time.
  Useful when debugging and when num_env == 1 (in the latter case,
  avoids communication overhead)
class_docstr_tok: ["VecEnv","that","does","runs","multiple","environments","sequentially",",","that","is",",","the","step","and","reset","commands","are","send","to","one","environment","at","a","time",".","Useful","when","debugging","and","when","num_env","==","1","(","in","the","latter","case",",","avoids","communication","overhead",")"]
code: def step_wait(self):
      for e in range(self.num_envs):
          action = self.actions[e]
          # if isinstance(self.envs[e].action_space, spaces.Discrete):
          #    action = int(action)
  
          (
              obs,
              self.buf_rews[e],
              self.buf_dones[e],
              self.buf_infos[e],
          ) = self.envs[e].step(action)
          if self.buf_dones[e]:
              obs = self.envs[e].reset()
          self._save_obs(e, obs)
      return (
          self._obs_from_buf(),
          np.copy(self.buf_rews),
          np.copy(self.buf_dones),
          self.buf_infos.copy(),
      )
  
file_path: baselines/baselines/common/vec_env/dummy_vec_env.py
imports: import numpy
  from .vec_env import VecEnv
  from .util import copy_obs_dict, dict_to_obs, obs_space_info
label_desc: Use image node_id 3 for calling the DummyVecEnv obj's underlying member method code with example usage: obj.step_wait() and returns: self,  np,  np,  self