41 const std::vector<ParameterDescriptor>&
descriptors)
62 for (
size_t i = 0;
i <
params.size(); ++
i)
81 d.description =
"Select the atomic task to execute.";
88 std::vector<ParameterDescriptor>
params;
93 cond.description =
"Select the condition type to evaluate.";
100 key.description =
"Blackboard key to use in the condition.";
101 key.required =
false;
105 op.
name =
"Operator";
107 op.
description =
"Comparison operator (for CompareValue condition).";
115 val.description =
"Literal value to compare against.";
116 val.required =
false;
126 d.
name =
"switchVariable";
128 d.description =
"Blackboard key whose value determines which case branch runs.";
138 d.description =
"Blackboard key to read.";
148 d.description =
"Blackboard key to write.";
156 d.
name =
"operation";
158 d.description =
"Arithmetic operator to apply (+, -, *, /, %).";
168 d.description =
"Blackboard key of the list to iterate.";
177 d.
name =
"subGraphPath";
179 d.description =
"Path to the sub-graph .ats file.";
190 d.description =
"Delay duration in seconds (must be > 0).";
ComponentTypeID GetComponentTypeID_Static()
Centralized registry mapping node types to their parameter descriptors.
Singleton mapping TaskNodeType -> vector of ParameterDescriptor.
void RegisterNodeType(TaskNodeType nodeType, const std::vector< ParameterDescriptor > &descriptors)
Registers a set of parameter descriptors for a node type.
std::unordered_map< uint8_t, std::vector< ParameterDescriptor > > m_params
static const std::vector< ParameterDescriptor > s_empty
Returned by GetNodeParameters when a type has no descriptors.
static ParameterEditorRegistry & Get()
Returns the singleton instance.
const std::vector< ParameterDescriptor > & GetNodeParameters(TaskNodeType nodeType) const
Returns the parameter descriptors for the given node type.
void InitializeBuiltInParameters()
const ParameterDescriptor * GetParameterDescriptor(TaskNodeType nodeType, const std::string ¶mName) const
Returns the descriptor for a specific parameter of a node type.
ParameterEditorRegistry()
< Provides AssetID and INVALID_ASSET_ID
@ Float
Single-precision float.
@ List
std::vector<TaskValue> (used by ForEach node)
@ MathOperator
Math operator symbol (+, -, *, /, %) (from OperatorRegistry)
@ ConditionID
ID of a condition type (from ConditionRegistry)
@ AtomicTaskID
ID of an atomic task (from AtomicTaskUIRegistry)
@ SubGraphPath
File path to a sub-graph .ats file.
@ LocalVariable
Value is read from the local blackboard at runtime.
@ Literal
Value is embedded directly in the template.
@ ComparisonOp
Comparison operator (==, !=, <, <=, >, >=) (from OperatorRegistry)
TaskNodeType
Identifies the role of a node in the task graph.
@ AtomicTask
Leaf node that executes a single atomic task.
@ While
Conditional loop (Loop / Completed exec outputs)
@ SubGraph
Sub-graph call (SubTask)
@ Delay
Timer (Completed exec output after N seconds)
@ GetBBValue
Data node – reads a Blackboard key.
@ MathOp
Data node – arithmetic operation (+, -, *, /)
@ SetBBValue
Data node – writes a Blackboard key.
@ ForEach
Iterate over BB list (Loop Body / Completed exec outputs)
@ Switch
Multi-branch on value (N exec outputs)
@ Branch
If/Else conditional (Then / Else exec outputs)
Full description of one parameter on a node type.
bool required
Must be filled before the node can execute.
std::string name
Parameter key (e.g. "taskType", "bbKey")
std::string description
Tooltip text.
ParameterBindingType bindingType
How the parameter value is provided.