Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Attributes | List of all members
Olympe::TaskNodeDefinition Struct Reference

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_tChildrenIDs
 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, ParameterBindingParameters
 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< DataPinDefinitionDataPins
 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< SwitchCaseDefinitionswitchCases
 For Switch: structured case definitions.
 
std::vector< Conditionconditions
 For Branch/While: structured condition list (implicit AND)
 
std::vector< NodeConditionRefconditionRefs
 Multi-condition refs to global presets (Phase 24)
 
std::vector< DynamicDataPindynamicPins
 Dynamic data-input pins for Pin-mode operands (Phase 24)
 
std::vector< ConditionRefconditionOperandRefs
 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, ParameterBindingInputParams
 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.
 

Detailed Description

Full description of a single node in the task graph.

Definition at line 102 of file TaskGraphTemplate.h.

Member Data Documentation

◆ AtomicTaskID

std::string Olympe::TaskNodeDefinition::AtomicTaskID

◆ BBKey

std::string Olympe::TaskNodeDefinition::BBKey

◆ ChildrenIDs

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().

◆ ConditionID

std::string Olympe::TaskNodeDefinition::ConditionID

◆ conditionOperandRefs

std::vector<ConditionRef> Olympe::TaskNodeDefinition::conditionOperandRefs

◆ conditionRefs

std::vector<NodeConditionRef> Olympe::TaskNodeDefinition::conditionRefs

◆ conditions

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().

◆ DataPins

std::vector<DataPinDefinition> Olympe::TaskNodeDefinition::DataPins

◆ DelaySeconds

float Olympe::TaskNodeDefinition::DelaySeconds = 0.0f

◆ DynamicExecOutputPins

std::vector<std::string> Olympe::TaskNodeDefinition::DynamicExecOutputPins

◆ dynamicPins

std::vector<DynamicDataPin> Olympe::TaskNodeDefinition::dynamicPins

◆ EditorPosX

float Olympe::TaskNodeDefinition::EditorPosX = 0.0f

◆ EditorPosY

float Olympe::TaskNodeDefinition::EditorPosY = 0.0f

◆ HasEditorPos

bool Olympe::TaskNodeDefinition::HasEditorPos = false

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().

◆ InputParams

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().

◆ MathOperator

std::string Olympe::TaskNodeDefinition::MathOperator

For MathOp: "+", "-", "*", "/".

Definition at line 126 of file TaskGraphTemplate.h.

Referenced by Olympe::VisualScriptEditorPanel::SerializeAndWrite().

◆ mathOpRef

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().

◆ NextOnFailure

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.

◆ NextOnSuccess

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.

◆ NodeID

int32_t Olympe::TaskNodeDefinition::NodeID = NODE_INDEX_NONE

◆ NodeName

std::string Olympe::TaskNodeDefinition::NodeName

◆ OutputParams

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().

◆ Parameters

std::unordered_map<std::string, ParameterBinding> Olympe::TaskNodeDefinition::Parameters

◆ SubGraphPath

std::string Olympe::TaskNodeDefinition::SubGraphPath

◆ SwitchCases

std::vector<std::string> Olympe::TaskNodeDefinition::SwitchCases

For Switch: ordered case labels (legacy; prefer switchCases)

Definition at line 124 of file TaskGraphTemplate.h.

◆ switchCases

std::vector<SwitchCaseDefinition> Olympe::TaskNodeDefinition::switchCases

◆ switchVariable

std::string Olympe::TaskNodeDefinition::switchVariable

◆ Type

TaskNodeType Olympe::TaskNodeDefinition::Type = TaskNodeType::AtomicTask

The documentation for this struct was generated from the following file: