# CompositeComponent

A component that controls the execution of child nodes of BehaviorTree.
It is implemented by extending TaskComponent, so it can be used with nodes other than the behavior tree.

## CompositeComponent type

- Behavior Tree Execute
  Executes one child node and returns the child node's result as its own execution result.
- Selector
  Executes child nodes in order from top to bottom. Execution ends when any child node returns `success`.
- Sequence
  Executes child nodes in order from top to bottom. Execution ends when any child node returns `failure`.
- Parallel Selector
  Executes child nodes at the same time. Execution ends when any child node returns `success`.
- Parallel Sequence
  Executes child nodes at the same time. Execution ends when any child node returns `failure`.

## Behavior when set to node

### Task

Task

It starts executing when it becomes active, and transitions to the connection destination port when the TaskComponent completes execution.

Additional properties

Property name | Type | Description
--- | --- | ---
Result | `OutputDataPort<bool>` | Outputs the execution result in bool type.

### State

State

Starts execution when it becomes active, and outputs a signal when the TaskComponent completes execution.

Additional properties

Property name | Type | Description
--- | --- | ---
Completed | `OutputSignalPort` | Outputs the execution result as a signal.

### BehaviorTree

BehaviorTree

It starts execution when it becomes active, and returns the result to the parent node when it completes execution.

### Signal Evaluation

Signal Evaluation

It becomes active when the judgment result of the input signal is true, and the result is reflected in the output signal when the child execution is completed.