import py_trees as ptree from typing import Any from robowaiter.behavior_lib._base.Cond import Cond import itertools class Is(Cond): can_be_expanded = True num_params = 2 valid_params1 = [('AC','TubeLight','HallLight','Curtain'), ('On','Off')] valid_params2 = [('Table1','Floor','Chairs'), ('Clean','Dirty')] valid_params3 = [('ACTemperature'), ('Up','Down')] valid_args = list(itertools.product(valid_params1[0], valid_params1[1])) valid_args.extend(list(itertools.product(valid_params2[0], valid_params2[1]))) valid_args.extend(list(itertools.product(valid_params3[0], valid_params3[1]))) valid_args = tuple(valid_args) def __init__(self,*args): super().__init__(*args) def _update(self) -> ptree.common.Status: # if self.scene.status? # self.scene.get_obstacle_point(self.scene.db, self.status, map_ratio=self.scene.map_ratio) if self.name in self.scene.state["condition_set"]: return ptree.common.Status.SUCCESS else: return ptree.common.Status.FAILURE # if self.scene.state['chat_list'] == []: # return ptree.common.Status.FAILURE # else: # return ptree.common.Status.SUCCESS