# LogicToolkit

## 型一覧

型名 | 説明
--- | ---
AssetInfo | アセットの情報
Blackboard | Variableを管理するブラックボード
BlackboardAsset | BlackboardAsset.Blackboardを内包するアセット。 主にBlackboardDataLinkReferenceから参照し、データリンクとして共有するために使用する。
BlackboardDataLink | Blackboardをオブジェクト間で共有するデータリンク
BlackboardDataLinkReference | BlackboardDataLinkReference.Blackboardのデータリンク参照情報
VariableOverrideAsset | LogicAssetが持つルートBlackboardの各Variableの初期値を上書きするためのアセット
Variable | Blackboardに格納する変数
VariableBase<T> | Blackboardに格納する変数のジェネリック基本型
Variable<T> | Blackboardに格納する変数のジェネリック型
VariableList<T> | Blackboardに格納するリスト型の変数
VariableReference | IVariableへの参照
VariableReference<T> | 値の型を指定する形式でのIVariableへの参照
ConstantContainer<T> | 定数の入れ物
GameObjectConstantContainer | GameObject型の定数の入れ物
ComponentConstantContainer<T> | Component型の定数の入れ物
InputFieldBase | 入力フィールドの基本型
InputFieldBase<T> | ジェネリック型の入力フィールドの基本型
InputQuaternion | Quaternionの入力フィールド。 固定値をオイラー角で設定できる。
InputField<TValue, TContainer> | 定数をConstantContainer<T>で持つことができる入力フィールド
InputField<T> | ジェネリック型の入力フィールド
InputList<T> | IList<T>型の入力フィールド
InputGameObject | GameObject型の入力フィールド
InputComponent<T> | Component型の入力フィールド
InputSystemType | Type型の入力フィールド
InputFieldUtility | 入力フィールドのユーティリティクラス
ComputeNodeBase | 演算ノードの基本クラス
ConvertNode | データの型を変換するノード
DataPort | データポート
DataPort<T> | ジェネリック型のデータポート
DataPortWithType | 型指定可能なデータポート
InputDataPort<T> | ジェネリック型の入力データポート
InputDataPortWithType | 型指定可能な入力データポート
OutputDataPort<T> | ジェネリック型の出力データポート
OutputDataPortWithType | 型指定可能な出力データポート
NodeComponentContainerExtensions | INodeComponentContainerの拡張クラス
EqualsEvaluator<T, TInputField> | 入力値の等価比較を行うクラス
LogicController | ロジックを制御する主要クラス
ActionComponent | 一瞬で実行完了する処理を行うコンポーネント
ActivatableComponent | アクティブ状態が切り替わるコンポーネント
EvaluateComponent | 評価を行うコンポーネント
EventComponent | イベントの待ち受けを行うコンポーネント
NodeComponent | ノードに追加するためのコンポーネントの基本型
ServiceComponent | 常駐する処理を行うコンポーネント
AsyncOperationComponent<TAsyncOperation> | AsyncOperationが完了するのを待つコンポーネント
TaskComponent | 完了するまで時間がかかる処理を行うコンポーネント
WaitForSeconds | 指定秒数の経過を待つコンポーネント
TweenComponent<TTarget, TInputField, T> | 対象を指定してパラメータのトゥイーンアニメーションを行うコンポーネント
TweenComponentBase<T> | パラメータのトゥイーンアニメーションを行うコンポーネントの基本型
NodeGraph | ノードグラフの基本型
ActivatableNode | アクティブ状態が切り替わるノード
ExecuteNode | 実行ノード
BreakNode | ループから抜けるためのフロー終了ノード
CompleteNode | タスクを完了するためのフロー終了ノード
ContinueNode | 次のループに移行するためのフロー終了ノード
ExitNode | ノードの実行を終了するためのフロー終了ノード
FlowExitNode | フロー終了ノードの基本型
Node | ノードの基本型
ServiceNode | 常駐する処理を行うノード
ServiceNodeBase | 常駐する処理を行うノードの基本型
EventInterfaceAsset | カスタムイベントを定義するアセット
LogicAsset | LogicAsset.LogicControllerを扱うアセット
LogicBehavior | LogicBehavior.LogicControllerを内部保有し再生するためのコンポーネント
LogicPlayer | LogicAssetを参照し再生するコンポーネント
LogicPlayerBase | LogicPlayerBase.LogicControllerを再生するコンポーネントの基本型
OutputExecutePort | 出力実行ポート
Port | 通常ポートの基本型
PortBase | ポートの基本型
OutputTransitionPort | 出力遷移ポート
TransitionalPort | 遷移を扱うポートの基本型
ProgressPlayer | 進捗プレイヤー NodeComponentにIProgressComponentを実装して使用する。
RefArgument<T, TInputField> | 参照引数を扱う型。 主にスクリプト生成に使用される。
Wire | ワイヤーの基本型
SerializableType | SerializableType.TypeをUnityのシリアライズシステムで扱うための構造体
UniqueId | 重複しないIDを扱う構造体
Timer | 時間経過を計測する
EaseBase | イージングを行う基本型
Interpolator<T> | 補間処理を行う基本型
ByteLerp | byte型の線形補間
SByteLerp | sbyte型の線形補間
CharLerp | char型の線形補間
ShortLerp | short型の線形補間
UShortLerp | ushort型の線形補間
IntLerp | int型の線形補間
UIntLerp | uint型の線形補間
LongLerp | long型の線形補間
ULongLerp | ulong型の線形補間
FloatLerp | float型の線形補間
DoubleLerp | double型の線形補間
Vector2Lerp | Vector2型の線形補間
Vector2IntLerp | Vector2Int型の線形補間
Vector3Lerp | Vector3型の線形補間
Vector3Slerp | Vector3型の球面線形補間
Vector3IntLerp | Vector3Int型の線形補間
Vector4Lerp | Vector4型の線形補間
ColorLerp | Color型の線形補間
QuaternionLerp | Quaternion型の線形補間
QuaternionSlerp | Quaternion型の球面線形補間
CompareUtility | 値比較のユーティリティクラス
TypeUtility | 型のユーティリティクラス
ListAccessorUtility | ListAccessorのユーティリティクラス
ValueContainer<T> | 値の入れ物を扱うクラス
ValueFlowExtensions | 値のフロー拡張クラス

## インターフェイス一覧

型名 | 説明
--- | ---
IVariable | Variableを定義するインターフェイス
ICheckRecompute | 再演算を行う必要があるか判定するインターフェイス ActionComponentに実装することで、Computeノードで使用している際に再演算を行うか判定できる。
IInputDataPortBase | 入力データポートの基本インターフェイス
IInputDataPort | 入力データポートのインターフェイス
IOutputDataPort | 出力データポートの基本インターフェイス
IProgressComponent | NodeComponentに進捗バーを表示するためのインターフェイス
IEvaluator | 評価を行うインターフェイス
INodeComponentContainer | NodeComponentを格納しているインターフェイス
IInputPort | 入力ポートを定義するインターフェイス
IOutputPort | 出力ポートを定義するインターフェイス
IPauseReceiver | グラフの一時停止を受け取るインターフェイス
IUpdateReceiver | 更新の呼び出しを受け取るインターフェイス
IEasingFunction | イージング関数を定義するインターフェイス
IValueBase | 値のアクセスを行う基本インターフェイス
IValueContainer | 値の入れ物を定義するインターフェイス
IValueContainer<T> | 値の入れ物を定義するジェネリック型インターフェイス
IValueGetter | 値を取得可能な型を定義するインターフェイス
IValueGetter<T> | 値を取得可能な型を定義するジェネリック型インターフェイス
IValueSetter | 値を設定可能な型を定義するインターフェイス
IValueSetter<T> | 値を設定可能な型を定義するジェネリック型インターフェイス
IValueTryGetter | 値取得を試行する型を定義するインターフェイス
IValueTrySetter | 値設定を試行する型を定義するインターフェイス
IListAccessor | リストのアクセスを定義するインターフェイス

## 列挙型一覧

型名 | 説明
--- | ---
MemberIconKind | メンバーのアイコンの種類
BlackboardDataLinkShareType | BlackboardDataLinkReferenceから参照しているBlackboardインスタンスを共有する方法
BlackboardSource | Blackboardの参照元
FieldPlacement | フィールドの配置
ComponentConstantType | ComponentConstantContainer<T>での定数指定の種類
RecomputeMode | 再演算モード
TaskStatus | タスクの状態
PlayState | 再生状態
TimerType | 時間の種類
EasingMode | イージングモード
ComparisonOp | 比較演算子

## 属性一覧

型名 | 説明
--- | ---
HideInTypePopupAttribute | この属性を適用した型を型選択ウィンドウから隠す。
HideInVariableMenuAttribute | この属性を適用した型をVariable追加メニューから隠す。
HideTypeInVariableMenuAttribute | アセンブリにこの属性を適用することで、指定した型をVariable追加メニューから隠す。
IgnoreGeneratorAttribute | スクリプトの生成対象から除外するようにマークする
MemberIconAttribute | NodeComponentのアイコンにメンバーアイコンを表示する
MenuKeywordsAttribute | スクリプト選択メニューにキーワードを設定する。
MenuNameAttribute | スクリプト選択メニューに名前を設定する。
ScriptGeneratedAttribute | 生成したスクリプトとしてマークする
TargetFieldNameAttribute | 対象のフィールド名を型に紐づけるための属性。
ValueTypeAttribute | SerializableTypeで選択できる型を指定する基本型から派生している型に制限する
AllowedTypesAttribute | 使用を許可する型を設定する。
DisallowedTypesAttribute | 使用を許可しない型を設定する。
FieldPlacementAttribute | フィールドの配置を設定する。 NodeComponentのフィールドにこの属性を適用することでフィールドの配置を指定できる。
ConstantColorUsageAttribute | Colorの定数の構成を設定する属性 `InputField<Color>`のフィールドに適用できる。
ConstantDelayedAttribute | 定数変更の確定を遅らせる属性。 この属性が適用されている場合、ユーザーがエンターキーを押したか、フィールドからフォーカスをさせるまで、定数変更の確定を行いません。 `InputField<float>`、`InputField<int>`、`InputField<string>`などのフィールドに適用できる。
ConstantGradientUsageAttribute | Gradientの定数の構成を設定する属性 `InputField<Gradient>`のフィールドに適用できる。
ConstantMinAttribute | floatまたはintなどの最小値を制限する属性。 `InputField<float>`、`InputField<int>`などのフィールドに適用できる。
ConstantPropertyAttribute | InputField<T>のフィールドに適用することで、定数値のフィールドの構成を設定する属性の基本型
ConstantRangeAttribute | floatまたはintなどの数値の範囲を制限する属性。 `InputField<float>`、`InputField<int>`などのフィールドに適用できる。
ConstantTextAreaAttribute | 複数行の文字列を編集できる属性。 `InputField<string>`のフィールドに適用できる。
FixedRecomputeModeAttribute | 再演算モードを固定する属性
DefaultRecomputeModeAttribute | デフォルトの再演算モードを設定する属性
DontUseComputeAttribute | Computeノードでの使用を禁止する属性
CanUseComputeAttribute | Computeノードでの使用できることをマークする属性
FieldOrderAttribute | フィールドの順番を設定する属性。 NodeComponentのフィールドにこの属性を適用することで、フィールドの表示順を設定できる。
FixedTitleNameAttribute | タイトル名を固定する属性。 Nodeにこの属性を適用することで、ノード名を固定できる。
HideResultFieldAttribute | TaskComponentの実行結果を出力するResultフィールドを非表示にする属性。 主に必ず成功して完了する処理に使用する。