def __init__(self, condition: Union[RequireBase, Callable[["Knowledge"], bool]]): super().__init__() assert isinstance(condition, RequireBase) or isinstance( condition, Callable) self.condition = merge_to_require(condition) self.triggered = False
def __init__( self, conditions: Union[RequireBase, Callable[["Knowledge"], bool], List[RequireBase]], *args: Union[RequireBase, Callable[["Knowledge"], bool]] ): super().__init__() is_act = isinstance(conditions, RequireBase) or isinstance(conditions, Callable) assert conditions is not None and (isinstance(conditions, list) or is_act) super().__init__() if is_act: self.conditions: List[RequireBase] = [merge_to_require(conditions)] else: self.conditions: List[RequireBase] = [] for order in conditions: assert order is not None self.conditions.append(merge_to_require(order)) for order in args: assert order is not None self.conditions.append(merge_to_require(order))