# CompositeComponent

BehaviorTreeの子ノードの実行を制御するコンポーネントです。
TaskComponentを拡張して実装しているため、ビヘイビアツリー以外のノードでも使用できます。

## CompositeComponentの種類

- Behavior Tree Execute
  １つの子ノードを実行し、子ノードの結果を自身の実行結果として返します。
- Selector
  子ノードを上から順番に実行します。いずれかの子ノードが`成功`を返した時点で実行終了します。
- Sequence
  子ノードを上から順番に実行します。いずれかの子ノードが`失敗`を返した時点で実行終了します。
- Parallel Selector
  同時に子ノードを実行します。いずれかの子ノードが`成功`を返した時点で実行終了します。
- Parallel Sequence
  同時に子ノードを実行します。いずれかの子ノードが`失敗`を返した時点で実行終了します。

## ノードに設定した際の動作

### Task

Task

アクティブになった際に実行開始し、TaskComponentが実行完了した際に接続先ポートに遷移します。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Result | `OutputDataPort<bool>` | 実行結果をbool型で出力します。

### State

State

アクティブになった際に実行開始し、TaskComponentが実行完了した際にシグナルを出力します。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Completed | `OutputSignalPort` | 実行結果をシグナルとして出力します。

### BehaviorTree

BehaviorTree

アクティブになった際に実行開始し、実行完了した際に親ノードに結果を返します。

### Signal Evaluation

Signal Evaluation

入力シグナルの判定結果がtrueの場合にアクティブになり、子実行完了した際に結果を出力シグナルに反映させます。