# Logic Script Generatorウィンドウ

メソッドの呼び出しやプロパティの入出力などのシンプルな処理のみを行うスクリプトを生成するためのウィンドウです。

## 開き方

以下のいずれかの方法で開けます。

- メニューからWindow > Logic Toolkit > Logic Script Generatorを選択。
- Logic Editorのツールバーの「⋮」ボタンをクリックし、メニューからLogic Script Generatorを選択。

## 操作方法

### アセンブリの追加

- 左枠のアセンブリ選択ドロップダウンをクリックし、メニューからCreate New Assemblyを選択。
  アセンブリがプロジェクトに作成されていない場合は右枠中央の「Create New Assembly」ボタンをクリック。
- 表示されたポップアップウィンドウにアセンブリの名前を入力。
- 「Create」ボタンをクリック。

### アセンブリの選択

- 左枠のアセンブリ選択ドロップダウンをクリック。
- メニューからアセンブリを選択。

### アセンブリの削除

- ProjectウィンドウからAssets/Logic Toolkit/Generated Scripts/アセンブリ名フォルダを削除。

### スクリプトの追加

- ツールバーの「+」ボタンをクリック。
- メニューから追加するスクリプトを選択。
- フッターの「Add」ボタンをクリック。

### スクリプトの設定

- リストからスクリプトを選択。
- 詳細欄で設定

### スクリプトの削除

- リストから削除したいスクリプトのチェックを解除。

### スクリプトの適用

アセンブリの追加やメンバーの追加、設定、削除などの変更点は適用することで生成結果に反映されます。

- フッターの「Apply」ボタンをクリック。

### 変更を元に戻す

- フッターの「Revert」ボタンをクリック。

## スクリプトの種類

### プロパティ/フィールドの取得

C#の型のプロパティやフィールドを取得し、DataPortに出力するActionComponentスクリプトを生成します。

#### 設定

設定項目 | 説明
--- | ---
Dont Use Compute | Computeノードでの使用を不可とする属性を適用します。
Recompute Mode Settings | Computeノードで使用したい際の再演算モードの設定方法を指定します。 Auto 値型の場合はDirty固定 GameObjectかComponentの場合は初期値をFrameに設定。 Default Computeノードを作成した際の初期値を設定します。 Fixed 固定の再演算モードを設定します
Recompute Mode | `Recompute Mode Settings`がDefaultかFixedの場合、設定する`Recompute Mode`を指定します。 Dirty 入力ポートが受け取るデータが更新されている場合に再演算 Frame 前回演算したフレームと現在フレームが異なる場合に再演算 Node 出力ポートの接続先ノードが異なる場合に再演算 Component 出力ポートの接続先ノードコンポーネントが異なる場合に再演算 Always 常に再演算

### プロパティ/フィールドの設定

InputFieldから受け取った値をC#の型のプロパティやフィールドに設定するActionComponentスクリプトを生成します。
型が値型の場合に、設定語の結果をDataPortに出力します。

#### 設定

型が値型の場合にのみ項目が表示されます。

設定項目 | 説明
--- | ---
Dont Use Compute | Computeノードでの使用を不可とする属性を適用します。
Recompute Mode Settings | Computeノードで使用したい際の再演算モードの設定方法を指定します。 Auto 値型の場合はDirty固定 GameObjectかComponentの場合は初期値をFrameに設定。 Default Computeノードを作成した際の初期値を設定します。 Fixed 固定の再演算モードを設定します
Recompute Mode | `Recompute Mode Settings`がDefaultかFixedの場合、設定する`Recompute Mode`を指定します。 Dirty 入力ポートが受け取るデータが更新されている場合に再演算 Frame 前回演算したフレームと現在フレームが異なる場合に再演算 Node 出力ポートの接続先ノードが異なる場合に再演算 Component 出力ポートの接続先ノードコンポーネントが異なる場合に再演算 Always 常に再演算

### メソッドの呼び出し

C#の型のメソッドを呼び出すActionComponentスクリプトを生成します。 戻り値やoutやref引数がある場合は呼び出し後に値をDataPortに出力します。

#### 設定

出力DataPortがある場合にのみ項目が表示されます。

設定項目 | 説明
--- | ---
Dont Use Compute | Computeノードでの使用を不可とする属性を適用します。
Recompute Mode Settings | Computeノードで使用したい際の再演算モードの設定方法を指定します。 Auto 値型の場合はDirty固定 GameObjectかComponentの場合は初期値をFrameに設定。 Default Computeノードを作成した際の初期値を設定します。 Fixed 固定の再演算モードを設定します
Recompute Mode | `Recompute Mode Settings`がDefaultかFixedの場合、設定する`Recompute Mode`を指定します。 Dirty 入力ポートが受け取るデータが更新されている場合に再演算 Frame 前回演算したフレームと現在フレームが異なる場合に再演算 Node 出力ポートの接続先ノードが異なる場合に再演算 Component 出力ポートの接続先ノードコンポーネントが異なる場合に再演算 Always 常に再演算

### イベントの待ち受け

delegate型のフィールドやイベントを設定し、呼び出された際にイベントを処理するEventComponentスクリプトを生成します。

### トゥイーン

クラスのプロパティやフィールドを徐々に変化させるTweenComponentスクリプトを生成します。