summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actAiActionBase.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-12-25 12:09:55 +0100
committerLéo Lam <leo@leolam.fr>2020-12-25 12:11:33 +0100
commit6f71b7b30ab8774224173151b2d7f9cddcf7bbaf (patch)
tree855aa082c303cd0c8946d2513f23cbdcbc5d1f75 /src/KingSystem/ActorSystem/actAiActionBase.cpp
parent399cde127151506c9d40b3de9a42f67eaa93a572 (diff)
ksys/act: Add more ActionBase functions
Diffstat (limited to 'src/KingSystem/ActorSystem/actAiActionBase.cpp')
-rw-r--r--src/KingSystem/ActorSystem/actAiActionBase.cpp20
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);