# LogicToolkit

## Types

Type Name | Description
--- | ---
AssetInfo | Asset information
Blackboard | Blackboard to manage Variable
BlackboardAsset | Asset containing BlackboardAsset.Blackboard. Mainly used for referencing from BlackboardDataLinkReference and sharing as a data link.
BlackboardDataLink | Datalinks that share Blackboard between objects
BlackboardDataLinkReference | Data link reference information for BlackboardDataLinkReference.Blackboard
VariableOverrideAsset | Assets to override the initial value of each Variable of the root Blackboard of LogicAsset
Variable | Variables stored in Blackboard
VariableBase<T> | Generic basic type of variables stored in Blackboard
Variable<T> | Generic type of variables stored in Blackboard
VariableList<T> | List type variable stored in Blackboard
VariableReference | Reference to VariableReference.Variable
ConstantContainer<T> | Constant container
GameObjectConstantContainer | Container for constants of type GameObject
ComponentConstantContainer<T> | Container for constants of type Component
InputFieldBase | Basic type of input field
InputFieldBase<T> | Base type of input field of generic type
InputQuaternion | Input field for Quaternion. Fixed values can be set in Euler angles.
InputField<TValue, TContainer> | Input field that can have a constant ConstantContainer<T>
InputField<T> | Generic type input field
InputList<T> | Input field of type IList<T>
InputGameObject | Input field of type GameObject
InputComponent<T> | Input field of type Component
InputSystemType | Input field of type Type
InputFieldUtility | Input field utility class
ComputeNodeBase | Base class for compute nodes
ConvertNode | Node that converts data type
DataPort | Data port
DataPort<T> | Generic type data port
DataPortWithType | Typeable data port
InputDataPort<T> | Generic type input data port
InputDataPortWithType | Typeable input data port
OutputDataPort<T> | Generic type output data port
OutputDataPortWithType | Typeable output data port
LogicController | Main classes that control logic
ActionComponent | A component that performs a process that completes execution in an instant.
ActivatableComponent | Components that switch between active states
EvaluateComponent | Component to be evaluated
EventComponent | Component that listens for events
NodeComponent | Basic type of component for adding to nodes
ServiceComponent | Components that perform resident processing
AsyncOperationComponent<TAsyncOperation> | Component that waits for AsyncOperation to complete
TaskComponent | Components that perform operations that take a long time to complete
WaitForSeconds | Component that waits for a specified number of seconds to elapse
TweenComponent<TTarget, TInputField, T> | A component that performs tween animation of parameters by specifying the target.
TweenComponentBase<T> | Basic type of component that performs tweened animation of parameters
NodeGraph | Basic type of node graph
ActivatableNode | Node whose active state changes
ExecuteNode | Execution node
BreakNode | Flow end node to exit from the loop
CompleteNode | Flow end node to complete the task
ContinueNode | Flow end node to transition to next loop
ExitNode | Flow end node to end node execution
FlowExitNode | Basic type of flow end node
Node | Basic type of node
ServiceNode | Node that performs resident processing
ServiceNodeBase | Basic type of node that performs resident processing
EventInterfaceAsset | Assets that define custom events
LogicAsset | Assets that handle LogicAsset.LogicController
LogicBehavior | A component for internally holding and playing LogicBehavior.LogicController
LogicPlayer | Component that references and plays LogicAsset
LogicPlayerBase | Basic type of component that plays LogicPlayerBase.LogicController
OutputExecutePort | Output execution port
Port | Basic type of normal port
PortBase | Basic type of port
OutputTransitionPort | Output transition port
TransitionalPort | Basic type of port that handles transitions
ProgressPlayer | Progress player Implement and use IProgressComponent in NodeComponent.
RefArgument<T, TInputField> | A type that handles reference arguments. Mainly used for script generation.
Wire | Basic type of wire
SerializableType | Structure for handling SerializableType.Type with Unity's serialization system
UniqueId | Structure that handles unique IDs
Timer | Measure the passage of time
EaseBase | Basic type for easing
Interpolator<T> | Basic type for interpolation processing
ByteLerp | Linear interpolation of type byte
SByteLerp | Linear interpolation of type sbyte
CharLerp | Linear interpolation of type char
ShortLerp | Linear interpolation of type short
UShortLerp | Linear interpolation of type ushort
IntLerp | Linear interpolation of type int
UIntLerp | Linear interpolation of type uint
LongLerp | Linear interpolation of type long
ULongLerp | Linear interpolation of type ulong
FloatLerp | Linear interpolation of type float
DoubleLerp | Linear interpolation of type double
Vector2Lerp | Linear interpolation of type Vector2
Vector2IntLerp | Linear interpolation of type Vector2Int
Vector3Lerp | Linear interpolation of type Vector3
Vector3Slerp | Spherical linear interpolation of type Vector3
Vector3IntLerp | Linear interpolation of type Vector3Int
Vector4Lerp | Linear interpolation of type Vector4
ColorLerp | Linear interpolation of type Color
QuaternionLerp | Linear interpolation of type Quaternion
QuaternionSlerp | Spherical linear interpolation of type Quaternion
CompareUtility | Utility class for value comparisons
TypeUtility | Type utility class
ListAccessorUtility | ListAccessor utility class
ValueContainer<T> | Class that handles value containers
ValueFlowExtensions | Value flow extension class

## Interfaces

Type Name | Description
--- | ---
ICheckRecompute | Interface to determine whether recomputation is necessary By implementing it in ActionComponent, you can determine whether to perform recomputation when using it with a Compute node.
IInputDataPortBase | Input data port basic interface
IInputDataPort | Input data port interface
IOutputDataPort | Output data port basic interface
IProgressComponent | Interface for displaying progress bar on NodeComponent
IInputPort | Interface that defines the input port
IOutputPort | Interface that defines the output port
IPauseReceiver | Interface to receive graph pauses
IUpdateReceiver | Interface that receives update calls
IEasingFunction | Interface that defines easing functions
IValueContainer | Interface that defines a container for values
IValueContainer<T> | Generic type interface that defines a container for values
IValueGetter | Interface that defines the types whose values can be retrieved
IValueGetter<T> | Generic type interface that defines types whose values can be retrieved
IValueSetter | Interface that defines a type whose value can be set
IValueSetter<T> | Generic type interface that defines a settable type
IValueTryGetter | Interface that defines the type whose value is attempted to be retrieved
IValueTrySetter | Interface that defines the type that attempts to set the value.
IListAccessor | Interface that defines list access

## Enums

Type Name | Description
--- | ---
MemberIconKind | Member icon kind
BlackboardDataLinkShareType | How to share the Blackboard instance referenced from BlackboardDataLinkReference
BlackboardSource | Reference source of Blackboard
FieldPlacement | Placement of fields
RecomputeMode | Recomputation mode
TaskStatus | Task status
PlayState | Play status
TimerType | Time Type
EasingMode | Easing Mode
ComparisonOp | Comparison operator

## Attributes

Type Name | Description
--- | ---
HideInTypePopupAttribute | Hides types to which this attribute is applied from the type selection window.
HideInVariableMenuAttribute | Hide types to which this attribute is applied from the Variable addition menu.
HideTypeInVariableMenuAttribute | Applying this attribute to an assembly hides the specified type from the Add Variable menu.
IgnoreGeneratorAttribute | Mark to exclude from script generation
MemberIconAttribute | Display member icon on NodeComponent icon
MenuKeywordsAttribute | Set keywords in the script selection menu.
MenuNameAttribute | Set a name in the script selection menu.
ScriptGeneratedAttribute | Mark as generated script
ValueTypeAttribute | Restrict types that can be selected with SerializableType to types derived from the specified base type
AllowedTypesAttribute | Set the types that are allowed to be used.
DisallowedTypesAttribute | Set types that are not allowed to be used.
FieldPlacementAttribute | Set the field placement. By applying this attribute to the NodeComponent field, you can specify the field placement.
ConstantColorUsageAttribute | Attributes that configure constant configuration for Color Can be applied for fields in `InputField<Color>`.
ConstantDelayedAttribute | Attribute that delays the finalization of constant changes. If this attribute is applied, constant changes will not be committed until the user presses the enter key or takes focus from the field. Can be applied to fields such as `InputField<float>`, `InputField<int>`, `InputField<string>`.
ConstantGradientUsageAttribute | Attributes that configure constant configuration for Gradient Can be applied to fields in `InputField<Gradient>`.
ConstantMinAttribute | Attributes that limit the minimum value, such as float or int. Can be applied to fields such as `InputField<float>`, `InputField<int>`.
ConstantPropertyAttribute | The base type of an attribute that, when applied to a field in InputField<T>, sets the configuration of a field of constant values.
ConstantRangeAttribute | Attributes that limit the range of numbers, such as float or int. Can be applied to fields such as `InputField<float>`, `InputField<int>`.
ConstantTextAreaAttribute | An attribute that allows you to edit multi-line strings. Can be applied to fields in `InputField<string>`.
FixedRecomputeModeAttribute | Attribute to fix recompute mode
DefaultRecomputeModeAttribute | Attribute that sets the default recomputation mode
DontUseComputeAttribute | Attributes prohibited from use on Compute nodes
FieldOrderAttribute | Attribute that sets field order. By applying this attribute to the fields of NodeComponent, you can set the display order of the fields.
FixedTitleNameAttribute | Attribute that fixes the title name. You can fix the node name by applying this attribute to Node.
HideResultFieldAttribute | Attribute that hides the Result field that outputs the execution results of TaskComponent. Mainly used for processing that always completes successfully.