""" 顶层行为树中的动作与条件节点 """ from typing import * import py_trees from py_trees import common from py_trees.common import Status ############################################################## # 条件节点 ############################################################## class IsChatting(py_trees.behaviour.Behaviour): def __init__(self, name: str = ""): super().__init__(name) def setup(self, **kwargs: Any) -> None: return super().setup(**kwargs) def initialise(self) -> None: return super().initialise() def update(self) -> Status: print('Start checking IsChatting...') return common.Status.SUCCESS def terminate(self, new_status: Status) -> None: return super().terminate(new_status) class IsTakingAction(py_trees.behaviour.Behaviour): def __init__(self, name: str = ""): super().__init__(name) def setup(self, **kwargs: Any) -> None: return super().setup(**kwargs) def initialise(self) -> None: return super().initialise() def update(self) -> Status: print('Start checking IsTakingAction...') return common.Status.SUCCESS def terminate(self, new_status: Status) -> None: return super().terminate(new_status) class IsSomethingMore(py_trees.behaviour.Behaviour): def __init__(self, name: str = ""): super().__init__(name) def setup(self, **kwargs: Any) -> None: return super().setup(**kwargs) def initialise(self) -> None: return super().initialise() def update(self) -> Status: print('Start checking IsSomethingMore...') return common.Status.SUCCESS def terminate(self, new_status: Status) -> None: return super().terminate(new_status) ############################################################## # 动作节点 ############################################################## class Chatting(py_trees.behaviour.Behaviour): def __init__(self, name: str = ""): super().__init__(name) def setup(self, **kwargs: Any) -> None: return super().setup(**kwargs) def initialise(self) -> None: return super().initialise() def update(self) -> Status: print('Start executing Chatting...') return common.Status.SUCCESS def terminate(self, new_status: Status) -> None: return super().terminate(new_status) class TakingAction(py_trees.behaviour.Behaviour): def __init__(self, name: str = ""): super().__init__(name) def setup(self, **kwargs: Any) -> None: return super().setup(**kwargs) def initialise(self) -> None: return super().initialise() def update(self) -> Status: print('Start executing TakingAction...') return common.Status.SUCCESS def terminate(self, new_status: Status) -> None: return super().terminate(new_status) class TakingMoreAction(py_trees.behaviour.Behaviour): def __init__(self, name: str = ""): super().__init__(name) def setup(self, **kwargs: Any) -> None: return super().setup(**kwargs) def initialise(self) -> None: return super().initialise() def update(self) -> Status: print('Start executing TakingMoreAction...') return common.Status.SUCCESS def terminate(self, new_status: Status) -> None: return super().terminate(new_status)