from coopihc.observation.BaseObservationEngine import BaseObservationEngine
[docs]class WrapAsObservationEngine(BaseObservationEngine):
"""WrapAsObservationEngine
Wrap a bundle as an Observation Engine
:param obs_bundle: bundle that simulates an observation process
:type obs_bundle: `Bundle :py:mod:<coopihc.bundle>`
"""
def __init__(self, obs_bundle):
self.bundle = obs_bundle
self.bundle.reset()
def __content__(self):
return {
"Name": self.__class__.__name__,
"Bundle": self.bundle.__content__(),
}
@property
def unwrapped(self):
return self.bundle.unwrapped
@property
def game_state(self):
return self.bundle.game_state
[docs] def reset(self, *args, **kwargs):
return self.bundle.reset(*args, **kwargs)
def step(self, *args, **kwargs):
return self.bundle.step(*args, **kwargs)
def observe(self, game_state):
pass
# Do something
# return observation, rewards
def __str__(self):
return "{} <[ {} ]>".format(self.__class__.__name__, self.bundle.__str__())
def __repr__(self):
return self.__str__()