36#include "../TaskSystem/TaskGraphTemplate.h"
37#include "../third_party/nlohmann/json.hpp"
ComponentTypeID GetComponentTypeID_Static()
Converts a BT v2 JSON object to a TaskGraphTemplate (VS v4).
static TaskGraphTemplate Convert(const nlohmann::json &btV2Json, std::vector< std::string > &outErrors)
Converts a BT v2 JSON document to a TaskGraphTemplate.
static TaskNodeDefinition ConvertNode(const nlohmann::json &btNode, std::vector< std::string > &outErrors)
Converts one BT node JSON object to a TaskNodeDefinition.
static void ConvertBlackboard(const nlohmann::json &btV2Json, TaskGraphTemplate &vsGraph, std::vector< std::string > &outErrors)
Copies blackboard entries from the BT JSON to the VS template.
static TaskNodeType MapNodeType(const std::string &btType)
Maps a BT node type string to the closest TaskNodeType equivalent.
static bool IsDecoratorName(const std::string &nodeName)
Returns true if nodeName indicates a BT Decorator node.
static bool IsBTv2(const nlohmann::json &j)
Returns true if j looks like a BT v2 document.
static std::vector< ExecPinConnection > ConvertConnections(const nlohmann::json &nodesArray, std::vector< std::string > &outErrors)
Builds exec connections from the BT "children" tree structure.
Immutable, shareable task graph asset.
< Provides AssetID and INVALID_ASSET_ID
TaskNodeType
Identifies the role of a node in the task graph.
Full description of a single node in the task graph.