# EvaluateComponent

条件判定を行うノードコンポーネントです。
ステートの遷移判定やビヘイビアツリーの実行判定などに利用します。

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

### Event

Event

評価した結果が真の場合に接続先ノードを実行します。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Invert | `InputField<bool>` | 判定結果を反転します。

### Action

Action

ノードがアクティブになった際に処理が実行されます。

追加のプロパティ

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

### Compute

Compute

データの出力が必要になった際に処理が実行されます。

追加のプロパティ

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

### Task

Task

ノードがアクティブである間、毎フレーム処理が実行されます。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
True Status | `InputField<TaskStatus>` | 判定結果がtrueだった場合の実行状態を設定します
False Status | `InputField<TaskStatus>` | 判定結果がfalseだった場合の実行状態を設定します

TaskStatusについて

内容 | 説明
--- | ---
Running | 実行を継続する
Success | 成功を返す
Failure | 失敗を返す

### BehaviorTree

BehaviorTree

#### メイン

ノードがアクティブである間、毎フレーム処理が実行されます。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
True Status | `InputField<TaskStatus>` | 判定結果がtrueだった場合の実行状態を設定します
False Status | `InputField<TaskStatus>` | 判定結果がfalseだった場合の実行状態を設定します

TaskStatusについて

内容 | 説明
--- | ---
Running | 実行を継続する
Success | 成功を返す
Failure | 失敗を返す

#### Decorators

Decoratorの判定が行われます。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Mode | `DecoratorMode` | Decoratorの判定内容を設定します。 Evaluate ノードの実行判定 LookCheck ループ判定

Modeの選択によってさらに追加されるプロパティがあります。
詳細はEvaluateDecoratorとLoopCheckDecoratorを参照してください。

#### Services

ノードがアクティブの間、毎フレーム処理が実行されます。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Methods | `CallMethods` | 実行するメソッドを指定します。 Nothing 実行しません OnActivated アクティブになった際に一度だけ実行します。 OnUpdate 毎フレーム実行します。 OnDeactivated 非アクティブになった際に一度だけ実行します。
Result | `OutputDataPort<bool>` | 判定結果をbool型で出力します。

### State

State

ノードがアクティブである間、毎フレーム処理が実行されます。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Invert | `InputField<bool>` | 判定結果を反転します。
Signal | `OutputSignalPort` | 判定結果をシグナルとして出力します。

### Signal Evaluation

Signal Evaluation

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

### Service

Service

ノードがアクティブになった際に処理が実行されます。

追加のプロパティ

プロパティ名 | 型 | 説明
--- | --- | ---
Methods | `CallMethods` | 実行するメソッドを指定します。 Nothing 実行しません OnActivated アクティブになった際に一度だけ実行します。 OnUpdate 毎フレーム実行します。 OnDeactivated 非アクティブになった際に一度だけ実行します。
Result | `OutputDataPort<bool>` | 判定結果を出力します。

## スクリプト生成

スクリプトの生成機能により以下のメンバーアクセスのスクリプトにはEvaluateComponentが使用されます。

- bool型フィールドの値を取得
- bool型プロパティの値を取得
- 戻り値がbool型のメソッドの呼び出し

詳細はスクリプト生成を参照してください。