![]() |
Olympe Engine 2.0
2D Game Engine with ECS Architecture
|
Exécuteur de graphes ATS Visual Scripting (flowchart). More...
#include <cstdint>#include <string>#include "TaskGraphTemplate.h"#include "TaskGraphTypes.h"#include "../ECS/Components/TaskRunnerComponent.h"#include "AtomicTaskContext.h"#include "LocalBlackboard.h"#include "ConditionEvaluator.h"#include "../Runtime/ConditionPresetEvaluator.h"#include "../Runtime/RuntimeEnvironment.h"#include "../Editor/ConditionPreset/ConditionPresetRegistry.h"
Include dependency graph for VSGraphExecutor.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | Olympe::SubGraphCallStack |
| Tracks the SubGraph call chain to detect cycles and enforce depth limits. More... | |
| class | Olympe::VSGraphExecutor |
| Exécute un graphe ATS Visual Scripting pour une entité sur un frame. More... | |
Namespaces | |
| namespace | Olympe |
| < Provides AssetID and INVALID_ASSET_ID | |
Exécuteur de graphes ATS Visual Scripting (flowchart).
VSGraphExecutor implémente la logique d'exécution "par frame" d'un graphe de type VisualScript (schema v4). Il est appelé par TaskSystem::Process() pour chaque entité dont le TaskGraphTemplate a GraphType == "VisualScript".
Modèle d'exécution :
Résolution des Data Pins (Phase 24.1 - Stack-based recursive evaluation): Avant d'exécuter un node, VSGraphExecutor résout toutes ses DataConnections entrantes en utilisant DataPinEvaluator::EvaluateNodeInputPins().
Ce système utilise une évaluation récursive en profondeur d'abord pour évaluer les réseaux de data pins "data pure" (Variable, MathOp, GetBBValue). Les dépendances sont résolues automatiquement avec détection de cycles et limite de profondeur pour éviter les débordements de pile.
Exemple: SetBBValue.In("Value") ← MathOp.Out("Result") ← Variable.Out("mHealth") + Variable.Out("mFoodPortion") L'exécution se fera: évaluer MathOp -> évaluer ses deux Variables -> calculer résultat -> SetBBValue
Phase 24 - Condition Preset Integration (2026-03-17):
C++14 compliant.
Definition in file VSGraphExecutor.h.