in agent/decision_modules/idler.py [0:0]
def take_control(self):
obs = yield
action = self.get_action()
while action is None or not action.recognized():
action = self.get_action()
response = yield action
p_valid = self._valid_detector.action_valid(action, first_sentence(response))
if isinstance(action, StandaloneAction):
kg.player_location.add_action_record(action, p_valid, response)
elif isinstance(action, SingleAction):
action.entity.add_action_record(action, p_valid, response)
elif isinstance(action, DoubleAction):
action.entity1.add_action_record(action, p_valid, response)
success = (p_valid > 0.5)
self.record(success)
dbg("[IDLER]({}) p={:.2f} {} --> {}".format(
"val" if success else "inv", p_valid, action, response))