Esempio n. 1
0
 def __init__(self, opts):
     super(TaskManager, self).__init__()
     self.node = cauv.node.Node("task_manager")
     self.node.subMessage(messaging.AddTaskMessage())
     self.node.subMessage(messaging.RemoveTaskMessage())
     self.node.subMessage(messaging.SetTaskStateMessage())
     self.node.subMessage(messaging.AddConditionMessage())
     self.node.subMessage(messaging.RemoveConditionMessage())
     self.node.subMessage(messaging.SetConditionStateMessage())
     self.node.subMessage(messaging.RequestAIStateMessage())
     self.node.subMessage(messaging.ScriptControlMessage())
     self.node.subMessage(messaging.AIControlMessage())
     self.node.subMessage(messaging.ProcessEndedMessage())
     self.node.subMessage(messaging.DetectorFiredMessage())
     self.node.subMessage(messaging.ScriptExitMessage())
     self.all_paused = not opts.unpaused
     self.ai_state = AIState(self)
     #Tasks - list of tasks that (in right conditions) should be called
     self.tasks = NameDict()
     self.conditions = NameDict()
     self.detector_fire_timeouts = collections.defaultdict(int)
     #currently running task
     self.last_available_tasks = []
     self.last_active_tasks = []
     self.mission_name = opts.mission_name
     if opts.mission_save:
         self.load_mission(open(opts.mission_save))
     self.gui_send_all()
     self.node.addObserver(self)
Esempio n. 2
0
 def add_test_condition(self, tm):
     tm.onAddConditionMessage.func(msg.AddConditionMessage("State"))
     cond_name = tm.node.messages[-1].conditionId
     self.assertTrue(cond_name.startswith("State"))
     tm.onAddTaskMessage.func(msg.AddTaskMessage("test"))
     task_name = tm.node.messages[-1].taskId
     self.assertTrue(task_name.startswith("test"))
     tm.onSetTaskStateMessage.func(
         msg.SetTaskStateMessage(task_name, [cond_name], {}, {}))
     condition = tm.conditions[cond_name]
     self.assertIn(condition, tm.tasks[task_name].conditions)
     return cond_name, task_name
Esempio n. 3
0
 def test_add_condition(self):
     tm = self.get_tm()
     tm.onAddConditionMessage.func(msg.AddConditionMessage("State"))
     self.assertIn("State", {k.split("_")[0] for k in tm.conditions})
     last_msg = tm.node.messages[-1]
     self.assertTrue(last_msg.conditionId.startswith("State"))
Esempio n. 4
0
def add_condition(ainode):
    condition_type = raw_input('Enter condition type: ')
    ainode.node.send(messaging.AddConditionMessage(condition_type))
    + p_stringParamValueMap + c \
    + p_stringParamValueMap + c \
    + p_stringParamValueMap + c \
    + p_bool \
    + r).streamline()
p_TaskStateMessage.setParseAction(lambda x: messaging.TaskStateMessage(*x[0]))
p_ScriptStateMessage = pp.Group(l \
    + p_str + c \
    + p_stringParamValueMap + c \
    + p_stringVec \
    + r).streamline()
p_ScriptStateMessage.setParseAction(lambda x: messaging.ScriptStateMessage(*x[0]))
p_AddConditionMessage = pp.Group(l \
    + p_str \
    + r).streamline()
p_AddConditionMessage.setParseAction(lambda x: messaging.AddConditionMessage(*x[0]))
p_RemoveConditionMessage = pp.Group(l \
    + p_str \
    + r).streamline()
p_RemoveConditionMessage.setParseAction(lambda x: messaging.RemoveConditionMessage(*x[0]))
p_SetConditionStateMessage = pp.Group(l \
    + p_str + c \
    + p_stringParamValueMap \
    + r).streamline()
p_SetConditionStateMessage.setParseAction(lambda x: messaging.SetConditionStateMessage(*x[0]))
p_ConditionRemovedMessage = pp.Group(l \
    + p_str \
    + r).streamline()
p_ConditionRemovedMessage.setParseAction(lambda x: messaging.ConditionRemovedMessage(*x[0]))
p_ConditionStateMessage = pp.Group(l \
    + p_str + c \