40#include "../ConditionPreset/ConditionPreset.h"
41#include "../../BlueprintEditor/ConditionRef.h"
42#include "../ConditionPreset/ConditionPresetRegistry.h"
43#include "../ConditionPreset/NodeConditionRef.h"
44#include "../../TaskSystem/LocalBlackboard.h"
94 const std::vector<ConditionRef>&
operandRefs = std::vector<ConditionRef>());
ComponentTypeID GetComponentTypeID_Static()
Manages the global pool of ConditionPreset objects.
Modal dialog for adding, removing, and reordering conditions on a node.
std::string m_dropdownFilter
Preset-picker search filter.
std::vector< BlackboardEntry > m_localVariables
Phase 24: Local variables for combo.
bool IsConfirmed() const
Returns true if the user clicked "Apply" and the modal was closed.
std::vector< ConditionRef > m_workingCopyOperandRefs
Phase 24: Operand data.
void RenderAddConditionPicker()
bool m_pickerOpen
Whether the add-preset picker is open.
std::function< void()> OnApply
Optional callback fired when the user clicks "Apply" (Confirm).
~NodeConditionsEditModal()=default
void AddCondition(const std::string &presetID)
Appends a new condition for the given preset to the working copy.
NodeConditionsEditModal(const NodeConditionsEditModal &)=delete
void RemoveCondition(size_t index)
Removes the condition at the given index from the working copy.
void RenderConditionRow(size_t index, const NodeConditionRef &ref)
NodeConditionsEditModal & operator=(const NodeConditionsEditModal &)=delete
std::vector< NodeConditionRef > m_workingCopy
Editable in-progress copy.
const std::vector< NodeConditionRef > & GetConditionRefs() const
Returns the edited condition ref list.
size_t GetConditionCount() const
Returns the number of conditions in the working copy.
void NormalizeLogicalOps()
Ensures the first condition's logicalOp is always Start.
const std::vector< ConditionRef > & GetConditionOperandRefs() const
Returns the edited operand ref list (Phase 24).
void Render()
Renders the modal dialog using ImGui.
void Confirm()
Programmatically confirms the modal (equivalent to clicking Apply).
const std::string & GetDropdownFilter() const
Returns the current dropdown filter string.
void SetDropdownFilter(const std::string &filter)
Sets the search filter for the "Add Condition" preset picker.
std::vector< ConditionPreset > GetFilteredPresetsForDropdown() const
Returns presets matching the current dropdown filter.
void MoveConditionUp(size_t index)
Moves the condition at index one position earlier (swap with index-1).
void Open(const std::vector< NodeConditionRef > ¤tRefs, const std::vector< ConditionRef > &operandRefs=std::vector< ConditionRef >())
Opens the modal, loading the given condition refs for editing.
void MoveConditionDown(size_t index)
Moves the condition at index one position later (swap with index+1).
void RenderFooterButtons()
ConditionPresetRegistry & m_registry
Shared global registry.
void Close()
Closes the modal without confirming changes.
bool IsOpen() const
Returns true if the modal is currently open.
void SetLogicalOp(size_t index, LogicalOp op)
Sets the logical operator for the condition at the given index.
void SetLocalVariables(const std::vector< BlackboardEntry > &localVars)
Sets the list of local variables for combo population.
< Provides AssetID and INVALID_ASSET_ID
LogicalOp
How this condition is combined with the one preceding it.
One entry in a NodeBranch's conditions list.