Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
TaskGraphTypes.h File Reference

Core enumerations and TaskValue type-safe variant for the Atomic Task System. More...

#include <string>
#include <stdexcept>
#include <cstdint>
#include "../vector.h"
#include "../ECS_Entity.h"
+ Include dependency graph for TaskGraphTypes.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Olympe::TaskValue
 C++14-compliant type-safe value container for task parameters. More...
 
union  Olympe::TaskValue::PodData
 
struct  Olympe::DataPinDefinition
 Describes a data pin declared on a Visual Script node. More...
 
struct  Olympe::SubGraphParameterDef
 Describes an input or output parameter declared on a SubGraph file. More...
 
struct  Olympe::Condition
 Describes a single condition expression for Branch/While nodes. More...
 
struct  Olympe::SwitchCaseDefinition
 Describes a single case branch on a Switch node. More...
 

Namespaces

namespace  Olympe
 < Provides AssetID and INVALID_ASSET_ID
 

Enumerations

enum class  Olympe::TaskNodeType : uint8_t {
  Olympe::AtomicTask = 0 , Olympe::Sequence = 1 , Olympe::Selector = 2 , Olympe::Parallel = 3 ,
  Olympe::Decorator = 4 , Olympe::Root = 5 , Olympe::EntryPoint = 6 , Olympe::Branch = 7 ,
  Olympe::Switch = 8 , Olympe::VSSequence = 9 , Olympe::While = 10 , Olympe::ForEach = 11 ,
  Olympe::DoOnce = 12 , Olympe::Delay = 13 , Olympe::GetBBValue = 14 , Olympe::SetBBValue = 15 ,
  Olympe::MathOp = 16 , Olympe::SubGraph = 17
}
 Identifies the role of a node in the task graph. More...
 
enum class  Olympe::VariableType : uint8_t {
  Olympe::None , Olympe::Bool , Olympe::Int , Olympe::Float ,
  Olympe::Vector , Olympe::EntityID , Olympe::String , Olympe::List = 7 ,
  Olympe::GlobalRef = 8
}
 Type tags used by TaskValue to identify stored data. More...
 
enum class  Olympe::ParameterBindingType : uint8_t {
  Olympe::Literal = 0 , Olympe::LocalVariable = 1 , Olympe::AtomicTaskID = 2 , Olympe::ConditionID = 3 ,
  Olympe::MathOperator = 4 , Olympe::ComparisonOp = 5 , Olympe::SubGraphPath = 6
}
 Describes how a parameter value is provided to a task node. More...
 
enum class  Olympe::DataPinDir : uint8_t { Olympe::Input , Olympe::Output }
 Direction of a data pin on a Visual Script node. More...
 
enum class  Olympe::ExecPinRole : uint8_t {
  Olympe::In , Olympe::Out , Olympe::OutElse , Olympe::OutLoop ,
  Olympe::OutCompleted , Olympe::OutCase
}
 Role of an exec pin on a Visual Script node. More...
 

Functions

static std::string Olympe::VariableTypeToString (VariableType t)
 Converts a VariableType to its canonical string representation.
 
static TaskValue Olympe::GetDefaultValueForType (VariableType type)
 Returns a correctly-typed default TaskValue for the given VariableType.
 

Variables

constexpr int32_t Olympe::NODE_INDEX_NONE = -1
 Sentinel value for "no node" in node index / ID fields.
 

Detailed Description

Core enumerations and TaskValue type-safe variant for the Atomic Task System.

Author
Olympe Engine
Date
2026-02-20

Defines the foundational types for the Atomic Task System (v3.0):

C++14 compliant - no std::variant, std::optional, or C++17/20 features.

Definition in file TaskGraphTypes.h.