46#include "../../BlueprintEditor/ConditionRef.h"
106 void SyncPins(std::vector<NodeConditionRef>& conditionRefs,
107 const std::vector<ConditionRef>&
operandRefs = std::vector<ConditionRef>());
131 const std::vector<ConditionRef>&
operandRefs = std::vector<ConditionRef>());
140 const std::vector<DynamicDataPin>&
GetAllPins()
const;
158 std::vector<const DynamicDataPin*>
Global registry for ConditionPreset objects, with CRUD, persistence, and validation.
Defines ConditionPreset — a reusable, globally-stored condition expression.
Defines DynamicDataPin — a runtime data-input pin attached to a node.
ComponentTypeID GetComponentTypeID_Static()
Defines NodeConditionRef — a node's reference to a global ConditionPreset.
Manages the global pool of ConditionPreset objects.
Generates, tracks, and invalidates DynamicDataPin objects for a node.
static std::string MakePinKey(int conditionIndex, OperandPosition pos)
Builds a unique key for the (conditionIndex, position) pair used in the lookup map.
~DynamicDataPinManager()=default
size_t GetPinCount() const
Returns the total number of managed pins.
const DynamicDataPin * GetPinByID(const std::string &pinID) const
Returns a pointer to the pin with the given UUID, or nullptr.
ConditionPresetRegistry & m_registry
Shared global registry.
void SyncPins(std::vector< NodeConditionRef > &conditionRefs, const std::vector< ConditionRef > &operandRefs=std::vector< ConditionRef >())
Rebuilds the pin set to match the given condition list.
const std::vector< DynamicDataPin > & GetAllPins() const
Returns all current DynamicDataPins in creation order.
std::vector< const DynamicDataPin * > GetPinsForCondition(int conditionIndex) const
Returns all pins associated with a specific condition index.
std::map< std::string, size_t > m_keyIndex
(condIdx,side) -> index in m_pins
void RegeneratePinsFromConditions(std::vector< NodeConditionRef > &conditionRefs, const std::vector< ConditionRef > &operandRefs=std::vector< ConditionRef >())
Regenerates pins from the current condition list.
std::vector< DynamicDataPin > m_pins
Ordered pin list.
DynamicDataPin * FindExistingPin(int conditionIndex, OperandPosition pos)
Looks for an existing pin matching (conditionIndex, position).
DynamicDataPinManager(const DynamicDataPinManager &)=delete
DynamicDataPinManager & operator=(const DynamicDataPinManager &)=delete
std::map< std::string, size_t > m_idIndex
UUID -> index in m_pins (O(1))
void InvalidatePreset(const std::string &deletedPresetID)
Removes all pins that belong to the given preset.
static void GetDynamicPinColor(float &r, float &g, float &b, float &a)
Returns the RGBA color used to render dynamic data pins.
void Clear()
Removes all managed pins.
< Provides AssetID and INVALID_ASSET_ID
OperandPosition
Identifies which operand side a DynamicDataPin serves.
A data-input pin created dynamically for a Pin-mode operand.