56#include "../ECS/Components/TaskRunnerComponent.h"
64#include "../Runtime/ConditionPresetEvaluator.h"
65#include "../Runtime/RuntimeEnvironment.h"
66#include "../Editor/ConditionPreset/ConditionPresetRegistry.h"
94 void Push(
const std::string& path) {
146 const std::string& pinName,
Runtime context passed to IAtomicTask::ExecuteWithContext().
Evaluates structured Condition expressions for Branch/While nodes.
ComponentTypeID GetComponentTypeID_Static()
Runtime key-value store for task graph variables.
Immutable asset structure shared by all task graph runners.
Core enumerations and TaskValue type-safe variant for the Atomic Task System.
Simple map-based blackboard for task graph runtime state.
Immutable, shareable task graph asset.
C++14-compliant type-safe value container for task parameters.
Exécute un graphe ATS Visual Scripting pour une entité sur un frame.
static int32_t HandleWhile(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB)
static int32_t FindExecTarget(int32_t sourceNodeID, const std::string &pinName, const TaskGraphTemplate &tmpl)
Retourne l'ID du node cible sur un exec pin nommé pinName depuis sourceNodeID.
static int32_t HandleSubGraph(EntityID entity, int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB, World *worldPtr, float dt, SubGraphCallStack &callStack)
static TaskValue ReadBBValue(const std::string &scopedKey, LocalBlackboard &localBB)
Lit une valeur BB depuis localBB avec support du scope "local:" et "global:".
static int32_t HandleGetBBValue(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB)
static void ResolveDataPins(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB)
Résout les data pins entrantes d'un node et peuple runner.DataPinCache.
static const int MAX_SUBGRAPH_DEPTH
Out-of-class definition required in C++14 for ODR-used static const members.
static void WriteBBValue(const std::string &scopedKey, const TaskValue &value, LocalBlackboard &localBB)
Écrit une valeur BB dans localBB avec support du scope "local:".
static int32_t HandleMathOp(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl)
static int32_t HandleSwitch(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB)
static int32_t HandleVSSequence(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl)
static int32_t HandleEntryPoint(int32_t nodeID, const TaskGraphTemplate &tmpl)
static int32_t HandleSetBBValue(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB)
static int32_t HandleBranch(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB)
static int32_t HandleDoOnce(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl)
static void ExecuteFrame(EntityID entity, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB, World *worldPtr, float dt)
Point d'entrée principal : exécute le graphe pour une entité.
static int32_t HandleAtomicTask(EntityID entity, int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, LocalBlackboard &localBB, World *worldPtr, float dt)
static int32_t HandleDelay(int32_t nodeID, TaskRunnerComponent &runner, const TaskGraphTemplate &tmpl, float dt)
Core ECS manager and world coordinator.
< Provides AssetID and INVALID_ASSET_ID
Tracks the SubGraph call chain to detect cycles and enforce depth limits.
bool Contains(const std::string &path) const
void Push(const std::string &path)
int32_t Depth
Current recursion depth.
std::vector< std::string > PathStack
Stack of SubGraph file paths currently executing.
Per-entity runtime state for task graph execution.