![]() |
Olympe Engine 2.0
2D Game Engine with ECS Architecture
|
Full description of a single node in the task graph. More...
#include <TaskGraphTemplate.h>
Collaboration diagram for Olympe::TaskNodeDefinition:Public Attributes | |
| int32_t | NodeID = NODE_INDEX_NONE |
| Unique ID within this template. | |
| std::string | NodeName |
| Human-readable name. | |
| TaskNodeType | Type = TaskNodeType::AtomicTask |
| Node role. | |
| std::vector< int32_t > | ChildrenIDs |
| Child node IDs (control-flow nodes only; empty for AtomicTask/Decorator leaf) | |
| std::string | AtomicTaskID |
| Atomic task type identifier (used when Type == AtomicTask) | |
| std::unordered_map< std::string, ParameterBinding > | Parameters |
| Named parameter bindings passed to the atomic task. | |
| int32_t | NextOnSuccess = NODE_INDEX_NONE |
| ID of next node on success (NODE_INDEX_NONE = none) | |
| int32_t | NextOnFailure = NODE_INDEX_NONE |
| ID of next node on failure (NODE_INDEX_NONE = none) | |
| std::vector< DataPinDefinition > | DataPins |
| Data pins declared on this node. | |
| std::string | ConditionID |
| For Branch/While/Switch: ATS condition ID. | |
| std::string | BBKey |
| For GetBBValue/SetBBValue: BB key (scope:key) | |
| std::string | SubGraphPath |
| For SubGraph: path to the sub-graph JSON. | |
| std::vector< std::string > | SwitchCases |
| For Switch: ordered case labels (legacy; prefer switchCases) | |
| float | DelaySeconds = 0.0f |
| For Delay: duration in seconds. | |
| std::string | MathOperator |
| For MathOp: "+", "-", "*", "/". | |
| std::string | switchVariable |
| For Switch: BB key of the variable to switch on. | |
| std::vector< SwitchCaseDefinition > | switchCases |
| For Switch: structured case definitions. | |
| std::vector< Condition > | conditions |
| For Branch/While: structured condition list (implicit AND) | |
| std::vector< NodeConditionRef > | conditionRefs |
| Multi-condition refs to global presets (Phase 24) | |
| std::vector< DynamicDataPin > | dynamicPins |
| Dynamic data-input pins for Pin-mode operands (Phase 24) | |
| std::vector< ConditionRef > | conditionOperandRefs |
| Parallel to conditions[]: each entry stores the OperandRef->DynamicDataPin UUID mapping for the corresponding condition expression. | |
| MathOpRef | mathOpRef |
| For MathOp: complete operand configuration (left operand, operator, right operand). | |
| std::vector< std::string > | DynamicExecOutputPins |
| For VSSequence: dynamically-added exec-out pins beyond the default "Out". | |
| std::unordered_map< std::string, ParameterBinding > | InputParams |
| Input parameter bindings. | |
| std::unordered_map< std::string, std::string > | OutputParams |
| Output param -> BB key mapping. | |
| float | EditorPosX = 0.0f |
| Canvas X position loaded from JSON. | |
| float | EditorPosY = 0.0f |
| Canvas Y position loaded from JSON. | |
| bool | HasEditorPos = false |
| True when EditorPosX/Y were loaded from JSON. | |
Full description of a single node in the task graph.
Definition at line 102 of file TaskGraphTemplate.h.
| std::string Olympe::TaskNodeDefinition::AtomicTaskID |
Atomic task type identifier (used when Type == AtomicTask)
Definition at line 111 of file TaskGraphTemplate.h.
Referenced by Olympe::BTtoVSMigrator::ConvertNode(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::RenderProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::string Olympe::TaskNodeDefinition::BBKey |
For GetBBValue/SetBBValue: BB key (scope:key)
Definition at line 122 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::RenderProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::vector<int32_t> Olympe::TaskNodeDefinition::ChildrenIDs |
Child node IDs (control-flow nodes only; empty for AtomicTask/Decorator leaf)
Definition at line 108 of file TaskGraphTemplate.h.
Referenced by Olympe::BTtoVSMigrator::ConvertNode(), Olympe::VSGraphExecutor::HandleVSSequence(), and Olympe::TaskGraphTemplate::Validate().
| std::string Olympe::TaskNodeDefinition::ConditionID |
For Branch/While/Switch: ATS condition ID.
Definition at line 121 of file TaskGraphTemplate.h.
Referenced by Olympe::VSGraphExecutor::HandleWhile(), Olympe::VisualScriptNodeRenderer::RenderNode(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::vector<ConditionRef> Olympe::TaskNodeDefinition::conditionOperandRefs |
Parallel to conditions[]: each entry stores the OperandRef->DynamicDataPin UUID mapping for the corresponding condition expression.
Populated by DynamicDataPinManager::RegeneratePinsFromConditions().
Definition at line 143 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::SerializeAndWrite(), and Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate().
| std::vector<NodeConditionRef> Olympe::TaskNodeDefinition::conditionRefs |
Multi-condition refs to global presets (Phase 24)
Definition at line 136 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::Initialize(), Olympe::VisualScriptEditorPanel::RenderBranchNodeProperties(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::SerializeAndWrite(), and Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate().
| std::vector<Condition> Olympe::TaskNodeDefinition::conditions |
For Branch/While: structured condition list (implicit AND)
Definition at line 133 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::vector<DataPinDefinition> Olympe::TaskNodeDefinition::DataPins |
Data pins declared on this node.
Definition at line 120 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::VSGraphVerifier::CheckDataPinTypes(), and Olympe::VSGraphVerifier::CheckPinDirections().
| float Olympe::TaskNodeDefinition::DelaySeconds = 0.0f |
For Delay: duration in seconds.
Definition at line 125 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::RenderProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::vector<std::string> Olympe::TaskNodeDefinition::DynamicExecOutputPins |
For VSSequence: dynamically-added exec-out pins beyond the default "Out".
Each entry is a pin name (e.g. "Out_1", "Out_2"...).
Definition at line 153 of file TaskGraphTemplate.h.
Referenced by Olympe::CalculateNodeMinimumWidth(), Olympe::VisualScriptEditorPanel::GetExecOutputPinsForNode(), Olympe::VisualScriptEditorPanel::RenderCanvas(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderSwitchNodeProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::vector<DynamicDataPin> Olympe::TaskNodeDefinition::dynamicPins |
Dynamic data-input pins for Pin-mode operands (Phase 24)
Definition at line 137 of file TaskGraphTemplate.h.
Referenced by Olympe::CalculateNodeMinimumWidth(), Olympe::VisualScriptEditorPanel::RenderBranchNodeProperties(), Olympe::VisualScriptEditorPanel::RenderMathOpNodeProperties(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), and Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent().
| float Olympe::TaskNodeDefinition::EditorPosX = 0.0f |
Canvas X position loaded from JSON.
Definition at line 160 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate(), and Olympe::VisualScriptEditorPanel::SyncEditorNodesFromTemplate().
| float Olympe::TaskNodeDefinition::EditorPosY = 0.0f |
Canvas Y position loaded from JSON.
Definition at line 161 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate(), and Olympe::VisualScriptEditorPanel::SyncEditorNodesFromTemplate().
True when EditorPosX/Y were loaded from JSON.
Definition at line 162 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate(), and Olympe::VisualScriptEditorPanel::SyncEditorNodesFromTemplate().
| std::unordered_map<std::string, ParameterBinding> Olympe::TaskNodeDefinition::InputParams |
Input parameter bindings.
Definition at line 156 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::string Olympe::TaskNodeDefinition::MathOperator |
For MathOp: "+", "-", "*", "/".
Definition at line 126 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| MathOpRef Olympe::TaskNodeDefinition::mathOpRef |
For MathOp: complete operand configuration (left operand, operator, right operand).
Parallel to MathOp nodes; empty for all other node types. Operands in Pin mode automatically generate DynamicDataPin entries.
Definition at line 149 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::VisualScriptEditorPanel::RenderMathOpNodeProperties(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| int32_t Olympe::TaskNodeDefinition::NextOnFailure = NODE_INDEX_NONE |
ID of next node on failure (NODE_INDEX_NONE = none)
Definition at line 117 of file TaskGraphTemplate.h.
| int32_t Olympe::TaskNodeDefinition::NextOnSuccess = NODE_INDEX_NONE |
ID of next node on success (NODE_INDEX_NONE = none)
Definition at line 116 of file TaskGraphTemplate.h.
| int32_t Olympe::TaskNodeDefinition::NodeID = NODE_INDEX_NONE |
Unique ID within this template.
Definition at line 103 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::BehaviorTreeGraphAdapter::AddNodeToGraph(), Olympe::VSGraphVerifier::CheckAtomicTaskIDs(), Olympe::VSGraphVerifier::CheckBBKeyCompatibility(), Olympe::VSGraphVerifier::CheckBlackboardKeys(), Olympe::VSGraphVerifier::CheckConditionIDs(), Olympe::VSGraphVerifier::CheckMathOperators(), Olympe::VSGraphVerifier::CheckNodeParameterWarnings(), Olympe::VSGraphVerifier::CheckReachability(), Olympe::VSGraphVerifier::CheckSubGraphCircular(), Olympe::VSGraphVerifier::CheckSwitchNodes(), Olympe::BTtoVSMigrator::Convert(), Olympe::BTtoVSMigrator::ConvertNode(), Olympe::TaskGraphLoader::ParseNodeV4(), Olympe::VisualScriptEditorPanel::RenderContextMenus(), Olympe::VisualScriptEditorPanel::SerializeAndWrite(), Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate(), and Olympe::VisualScriptEditorPanel::SyncEditorNodesFromTemplate().
| std::string Olympe::TaskNodeDefinition::NodeName |
Human-readable name.
Definition at line 104 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::CalculateNodeMinimumWidth(), Olympe::BTtoVSMigrator::ConvertNode(), Olympe::VisualScriptEditorPanel::RenderBranchNodeProperties(), Olympe::VisualScriptEditorPanel::RenderMathOpNodeProperties(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::RenderProperties(), Olympe::VisualScriptEditorPanel::RenderSwitchNodeProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::unordered_map<std::string, std::string> Olympe::TaskNodeDefinition::OutputParams |
Output param -> BB key mapping.
Definition at line 157 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::unordered_map<std::string, ParameterBinding> Olympe::TaskNodeDefinition::Parameters |
Named parameter bindings passed to the atomic task.
Definition at line 114 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::BTtoVSMigrator::ConvertNode(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodeDataParameters(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::SerializeAndWrite(), and Olympe::VisualScriptEditorPanel::SyncEditorNodesFromTemplate().
| std::string Olympe::TaskNodeDefinition::SubGraphPath |
For SubGraph: path to the sub-graph JSON.
Definition at line 123 of file TaskGraphTemplate.h.
Referenced by Olympe::VSGraphVerifier::CheckSubGraphPaths(), Olympe::VisualScriptEditorPanel::GetNodeSubGraphPath(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::vector<std::string> Olympe::TaskNodeDefinition::SwitchCases |
For Switch: ordered case labels (legacy; prefer switchCases)
Definition at line 124 of file TaskGraphTemplate.h.
| std::vector<SwitchCaseDefinition> Olympe::TaskNodeDefinition::switchCases |
For Switch: structured case definitions.
Definition at line 130 of file TaskGraphTemplate.h.
Referenced by Olympe::CalculateNodeMinimumWidth(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderProperties(), Olympe::VisualScriptEditorPanel::RenderSwitchNodeProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| std::string Olympe::TaskNodeDefinition::switchVariable |
For Switch: BB key of the variable to switch on.
Definition at line 129 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::RenderProperties(), Olympe::VisualScriptEditorPanel::RenderSwitchNodeProperties(), and Olympe::VisualScriptEditorPanel::SerializeAndWrite().
| TaskNodeType Olympe::TaskNodeDefinition::Type = TaskNodeType::AtomicTask |
Node role.
Definition at line 105 of file TaskGraphTemplate.h.
Referenced by Olympe::VisualScriptEditorPanel::AddNode(), Olympe::CalculateNodeMinimumWidth(), Olympe::BTtoVSMigrator::Convert(), Olympe::BTtoVSMigrator::ConvertNode(), Olympe::VisualScriptEditorPanel::GetExecOutputPinsForNode(), Olympe::VisualScriptEditorPanel::GetNodeSubGraphPath(), Olympe::VisualScriptNodeRenderer::RenderNode(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanel(), Olympe::VisualScriptEditorPanel::RenderNodePropertiesPanelContent(), Olympe::VisualScriptEditorPanel::RenderProperties(), Olympe::VisualScriptEditorPanel::SerializeAndWrite(), and Olympe::VisualScriptEditorPanel::SyncCanvasFromTemplate().