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

Singleton GlobalBlackboard for shared TaskValue variables across VS graphs. More...

#include <string>
#include <unordered_map>
#include "../TaskSystem/TaskGraphTypes.h"
#include "../system/system_utils.h"
+ Include dependency graph for GlobalBlackboard.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Olympe::GlobalBlackboard
 Process-wide singleton blackboard storing TaskValue entries. More...
 

Namespaces

namespace  Olympe
 < Provides AssetID and INVALID_ASSET_ID
 

Detailed Description

Singleton GlobalBlackboard for shared TaskValue variables across VS graphs.

Author
Olympe Engine
Date
2026-03-08

GlobalBlackboard provides a process-wide key/value store using TaskValue. It is accessible from any VS graph node via the "global:" scope prefix in LocalBlackboard::GetValueScoped / SetValueScoped.

The singleton is implemented with the Meyers pattern (C++14 compliant). The header-only implementation avoids ODR issues when included in multiple translation units; the singleton local static is guaranteed to be initialized exactly once by the C++11/14 standard.

JSON persistence is provided as a separate opt-in (SaveToJson / LoadFromJson) and is not required for basic runtime operation.

C++14 compliant - no C++17/20 features.

Definition in file GlobalBlackboard.h.