diff options
| author | Léo Lam <leo@leolam.fr> | 2020-12-25 12:09:55 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2020-12-25 12:11:33 +0100 |
| commit | 6f71b7b30ab8774224173151b2d7f9cddcf7bbaf (patch) | |
| tree | 855aa082c303cd0c8946d2513f23cbdcbc5d1f75 /src/KingSystem/ActorSystem/actAiActionBase.cpp | |
| parent | 399cde127151506c9d40b3de9a42f67eaa93a572 (diff) | |
ksys/act: Add more ActionBase functions
Diffstat (limited to 'src/KingSystem/ActorSystem/actAiActionBase.cpp')
| -rw-r--r-- | src/KingSystem/ActorSystem/actAiActionBase.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/KingSystem/ActorSystem/actAiActionBase.cpp b/src/KingSystem/ActorSystem/actAiActionBase.cpp index b169813c..767f6ea7 100644 --- a/src/KingSystem/ActorSystem/actAiActionBase.cpp +++ b/src/KingSystem/ActorSystem/actAiActionBase.cpp @@ -223,6 +223,26 @@ Action* ActionBase::getCurrentAction() { } } +bool ActionBase::handleMessage(mes::Message* message) { + auto* action = this; + while (!action->handleMessage_(message)) { + action = action->getCurrentChild(); + if (!action) + return false; + } + return true; +} + +bool ActionBase::handleMessage2(mes::Message* message) { + auto* action = this; + while (!action->handleMessage2_(message)) { + action = action->getCurrentChild(); + if (!action) + return false; + } + return true; +} + void ActionBase::setFinished() { mFlags.set(Flag::Finished); mFlags.reset(Flag::Failed); |
