80 if (!data.is_object())
83 if (data.contains(
"presetID") && data[
"presetID"].is_string())
86 if (data.contains(
"logicalOp") && data[
"logicalOp"].is_string())
88 std::string op = data[
"logicalOp"].get<std::string>();
94 if (data.contains(
"leftPinID") && data[
"leftPinID"].is_string())
95 ref.leftPinID = data[
"leftPinID"].get<std::string>();
97 if (data.contains(
"rightPinID") && data[
"rightPinID"].is_string())
98 ref.rightPinID = data[
"rightPinID"].get<std::string>();
ComponentTypeID GetComponentTypeID_Static()
Defines NodeConditionRef — a node's reference to a global ConditionPreset.
< Provides AssetID and INVALID_ASSET_ID
LogicalOp
How this condition is combined with the one preceding it.
@ Start
First condition in the list (no logical combinator)
One entry in a NodeBranch's conditions list.
std::string rightPinID
DynamicDataPin UUID for right Pin operand (or empty)
nlohmann::json ToJson() const
Serializes this ref to a JSON object.
std::string GetLogicalOpString() const
Returns the logical-op as a display string ("Start", "And", "Or").
bool HasLeftPin() const
Returns true when a left-side DynamicDataPin is assigned.
bool HasRightPin() const
Returns true when a right-side DynamicDataPin is assigned.
static NodeConditionRef FromJson(const nlohmann::json &data)
Deserializes a NodeConditionRef from a JSON object.
std::string presetID
UUID of the referenced ConditionPreset.
std::string leftPinID
DynamicDataPin UUID for left Pin operand (or empty)
NodeConditionRef()
Default constructor — empty preset ID, LogicalOp::Start.
LogicalOp logicalOp
Combinator with previous condition (ignored for first)