28#include "../TaskSystem/TaskGraphTypes.h"
29#include "../third_party/nlohmann/json.hpp"
< Provides AssetID and INVALID_ASSET_ID
VariableType
Type tags used by TaskValue to identify stored data.
@ Float
Single-precision float.
Stores the complete reference for one condition including operand-to-DynamicDataPin mapping.
OperandRef rightOperand
Right-hand side of the comparison.
OperandRef leftOperand
Left-hand side of the comparison.
std::string operatorStr
Comparison operator: "==", "<=", ">=", "!=", "<", ">".
VariableType compareType
Expected value type of both operands.
int conditionIndex
Index in the Branch/While node's conditions[] array.
static ConditionRef FromJson(const nlohmann::json &data)
Deserializes a ConditionRef from a JSON object.
nlohmann::json ToJson() const
Serializes this ConditionRef to a JSON object.
References one operand of a condition (left or right).
static OperandRef FromJson(const nlohmann::json &data)
Deserializes an OperandRef from a JSON object.
Mode
Discriminates the data source of this operand.
@ Variable
References a blackboard variable by name.
@ Const
Literal constant value.
@ Pin
External data-input pin on the owning node.
std::string constValue
Literal string (mode == Const), e.g. "100.0".
std::string variableName
Blackboard key (mode == Variable), e.g. "mHealth".
nlohmann::json ToJson() const
Serializes this OperandRef to a JSON object.
std::string dynamicPinID
UUID of the DynamicDataPin that supplies this operand's value.