From 126f2d6bfca60cfeb1c09eabb74ed2c4a1989eaa Mon Sep 17 00:00:00 2001 From: szdytom Date: Thu, 2 Nov 2023 09:18:23 +0800 Subject: [PATCH] [behavio-tree] add `ParallelNode.tick()` --- behavior-tree/index.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/behavior-tree/index.mjs b/behavior-tree/index.mjs index 5332014..9bee9da 100644 --- a/behavior-tree/index.mjs +++ b/behavior-tree/index.mjs @@ -31,9 +31,7 @@ export class ControlNode extends Node { }; export class SequenceNode extends ControlNode { - constructor() { - super(); - } + constructor() { super(); } async tick(blackboard) { for (let child of this.children) { @@ -47,6 +45,7 @@ export class FallbackNode extends ControlNode { async tick(blackboard) { for (let i = 0; i < this.children.length; i += 1) { + let child = this.children[i]; try { await child.tick(blackboard); break; @@ -60,5 +59,7 @@ export class FallbackNode extends ControlNode { export class ParallelNode extends ControlNode { constructor() { super(); } - async tick(blackboard) {} + tick(blackboard) { + return Promise.all(this.children.map(child => child(blackboard))); + } }