27#include <unordered_map>
58 const std::vector<Condition>& conditions,
60 const std::unordered_map<std::string, TaskValue>&
dataPinCache,
75 const std::unordered_map<std::string, TaskValue>&
dataPinCache,
92 const std::string& mode,
93 const std::string&
pin,
97 const std::unordered_map<std::string, TaskValue>&
dataPinCache,
116 const std::string& op,
ComponentTypeID GetComponentTypeID_Static()
Runtime key-value store for task graph variables.
Core enumerations and TaskValue type-safe variant for the Atomic Task System.
Stateless evaluator for structured Condition expressions.
static bool GetConditionValue(const std::string &mode, const std::string &pin, const std::string &variable, const TaskValue &constValue, const LocalBlackboard &localBB, const std::unordered_map< std::string, TaskValue > &dataPinCache, int32_t nodeID, TaskValue &outValue)
Resolves the TaskValue for one side of a condition.
ConditionEvaluator()=delete
static bool EvaluateAll(const std::vector< Condition > &conditions, const LocalBlackboard &localBB, const std::unordered_map< std::string, TaskValue > &dataPinCache, int32_t nodeID)
Evaluates all conditions (implicit AND) on a Branch/While node.
static bool EvaluateCondition(const Condition &cond, const LocalBlackboard &localBB, const std::unordered_map< std::string, TaskValue > &dataPinCache, int32_t nodeID)
Evaluates a single Condition.
static bool CompareValues(const TaskValue &left, const TaskValue &right, const std::string &op, int32_t nodeID)
Compares two TaskValues using the given operator.
static bool ParsePinRef(const std::string &pinRef, int32_t &outNodeID, std::string &outPinName)
Parses "Node#42.Out" -> nodeID=42, pinName="Out".
Simple map-based blackboard for task graph runtime state.
C++14-compliant type-safe value container for task parameters.
< Provides AssetID and INVALID_ASSET_ID
Describes a single condition expression for Branch/While nodes.