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

Clean schema v4 parser for ATS Visual Script task graphs. More...

#include <string>
#include <vector>
#include "TaskGraphTemplate.h"
#include "../json_helper.h"
+ Include dependency graph for TaskGraphLoader.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Olympe::TaskGraphLoader
 Static utility that loads TaskGraphTemplate from schema v4 JSON. More...
 

Namespaces

namespace  Olympe
 < Provides AssetID and INVALID_ASSET_ID
 

Detailed Description

Clean schema v4 parser for ATS Visual Script task graphs.

Author
Olympe Engine
Date
2026-03-08

TaskGraphLoader v4 is a ground-up rewrite of the legacy loader. It natively parses schema v4 ATS VisualScript JSON (flat structure). For schema v3, it delegates to TaskGraphMigrator_v3_to_v4 before parsing. For schema v2 and below, it retains minimal backward-compatible parsing so that existing BehaviorTree assets continue to load.

Schema v4 (flat, ATS VisualScript):

{
"schema_version": 4,
"id": "uuid-string",
"name": "string",
"graphType": "VisualScript",
"blackboard": [ { "key": "k", "type": "Int|Float|Bool|String|Vector", "value": ... } ],
"nodes": [
{ "id": 0, "type": "EntryPoint|AtomicTask|...", "label": "...",
"position": { "x": 0, "y": 0 },
"params": { "key": "value" },
"taskType": "Task_Wait",
"delaySeconds": 0.0,
"bbKey": "scope:key",
"subGraphPath": "path",
"conditionKey": "scope:key",
"conditionOp": "==/!=/</>/<=/>=" ,
"conditionValue": any,
"mathOp": "+|-|*|/",
"mathInputA": "scope:key",
"mathInputB": "scope:key",
"mathOutput": "scope:key",
"switchKey": "scope:key" }
],
"execConnections": [ { "fromNode": 0, "fromPin": "Completed", "toNode": 1 } ],
"dataConnections": [ { "fromNode": 0, "fromPin": "value", "toNode": 1, "toPin": "input" } ]
}
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56

C++14 compliant - no std::filesystem, no C++17/20 features.

Definition in file TaskGraphLoader.h.