Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Classes | Namespaces
NodeConditionsEditModal.h File Reference

Dedicated modal dialog for editing a NodeBranch's condition list (Phase 24-REFONTE). More...

#include <string>
#include <vector>
#include <functional>
#include "../ConditionPreset/ConditionPreset.h"
#include "../../BlueprintEditor/ConditionRef.h"
#include "../ConditionPreset/ConditionPresetRegistry.h"
#include "../ConditionPreset/NodeConditionRef.h"
#include "../../TaskSystem/LocalBlackboard.h"
+ Include dependency graph for NodeConditionsEditModal.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Olympe::NodeConditionsEditModal
 Modal dialog for adding, removing, and reordering conditions on a node. More...
 

Namespaces

namespace  Olympe
 < Provides AssetID and INVALID_ASSET_ID
 

Detailed Description

Dedicated modal dialog for editing a NodeBranch's condition list (Phase 24-REFONTE).

Author
Olympe Engine
Date
2026-03-17

NodeConditionsEditModal provides a modal overlay to add, remove, reorder, and configure the logical operators of a NodeBranch's ConditionPreset references. It is separate from NodeConditionsPanel so that the Properties panel remains READ-ONLY (view only), while all edits are confirmed in one atomic Apply step.

Usage:

NodeConditionsEditModal modal(registry);
// When user clicks "Edit Conditions" in the Properties panel:
modal.Open(node.conditionRefs);
// In render loop:
modal.Render();
if (modal.IsConfirmed()) {
node.conditionRefs = modal.GetConditionRefs();
modal.Close();
}
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56

The modal works on a COPY of the node's condition refs. On "Apply" it marks itself as confirmed; on "Cancel" the copy is discarded.

C++14 compliant — no std::optional, structured bindings, std::filesystem.

Definition in file NodeConditionsEditModal.h.