Exemple #1
0
    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
Exemple #2
0
    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))