Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Olympe::BTNodePropertyPanel Class Reference

UI panel for editing BehaviorTree node properties. More...

#include <BTNodePropertyPanel.h>

Public Member Functions

 BTNodePropertyPanel ()
 
 ~BTNodePropertyPanel ()=default
 
void Initialize ()
 Initialize the panel.
 
void Render ()
 Render the property panel.
 
void SetSelectedNode (int graphId, int nodeId)
 Set the currently selected node ID.
 
void ClearSelection ()
 Clear the current selection.
 
bool HasSelectedNode () const
 Check if a node is currently selected.
 

Public Attributes

int m_selectedNodeId = -1
 

Private Member Functions

void RenderNodeBasicInfo (const GraphNode *node)
 
void RenderNodeParameters (const GraphNode *node)
 
void RenderSubGraphControls (GraphNode *node)
 Phase 39c: SubGraph node editor.
 
void RenderSubGraphBindingEditor (GraphNode *node)
 Phase 39c Step 4: Parameter binding editor.
 
void ApplyNodeChanges (GraphNode *node)
 

Private Attributes

int m_activeGraphId = -1
 Current graph ID in BTNodeGraphManager.
 
char m_nodeNameBuffer [256] = {0}
 Buffer for node name editing.
 
char m_paramBuffer [512] = {0}
 Buffer for parameter editing.
 

Detailed Description

UI panel for editing BehaviorTree node properties.

Renders property controls for the currently selected node. Updates the BTNodeGraphManager when properties are changed.

Definition at line 31 of file BTNodePropertyPanel.h.

Constructor & Destructor Documentation

◆ BTNodePropertyPanel()

Olympe::BTNodePropertyPanel::BTNodePropertyPanel ( )

Definition at line 19 of file BTNodePropertyPanel.cpp.

References m_nodeNameBuffer, and m_paramBuffer.

◆ ~BTNodePropertyPanel()

Olympe::BTNodePropertyPanel::~BTNodePropertyPanel ( )
default

Member Function Documentation

◆ ApplyNodeChanges()

void Olympe::BTNodePropertyPanel::ApplyNodeChanges ( GraphNode node)
private

Definition at line 148 of file BTNodePropertyPanel.cpp.

References GetComponentTypeID_Static(), m_nodeNameBuffer, and SYSTEM_LOG.

+ Here is the call graph for this function:

◆ ClearSelection()

void Olympe::BTNodePropertyPanel::ClearSelection ( )

Clear the current selection.

Definition at line 51 of file BTNodePropertyPanel.cpp.

References m_activeGraphId, m_nodeNameBuffer, m_paramBuffer, and m_selectedNodeId.

Referenced by Render(), and Olympe::BehaviorTreeRenderer::RenderRightPanelTabs().

+ Here is the caller graph for this function:

◆ HasSelectedNode()

bool Olympe::BTNodePropertyPanel::HasSelectedNode ( ) const
inline

Check if a node is currently selected.

Returns
true if a node is selected

Definition at line 63 of file BTNodePropertyPanel.h.

References m_selectedNodeId.

Referenced by Olympe::BehaviorTreeRenderer::RenderRightPanelTabs().

+ Here is the caller graph for this function:

◆ Initialize()

void Olympe::BTNodePropertyPanel::Initialize ( )

Initialize the panel.

Definition at line 27 of file BTNodePropertyPanel.cpp.

Referenced by Olympe::BehaviorTreeRenderer::BehaviorTreeRenderer().

+ Here is the caller graph for this function:

◆ Render()

void Olympe::BTNodePropertyPanel::Render ( )

◆ RenderNodeBasicInfo()

void Olympe::BTNodePropertyPanel::RenderNodeBasicInfo ( const GraphNode node)
private

Definition at line 99 of file BTNodePropertyPanel.cpp.

References Olympe::NodeGraphManager::Get(), GetComponentTypeID_Static(), Olympe::NodeGraphManager::GetGraph(), m_activeGraphId, m_nodeNameBuffer, m_selectedNodeId, Olympe::GraphNode::name, Olympe::NodeTypeToString(), and SYSTEM_LOG.

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderNodeParameters()

void Olympe::BTNodePropertyPanel::RenderNodeParameters ( const GraphNode node)
private

Definition at line 127 of file BTNodePropertyPanel.cpp.

References GetComponentTypeID_Static().

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderSubGraphBindingEditor()

void Olympe::BTNodePropertyPanel::RenderSubGraphBindingEditor ( GraphNode node)
private

Phase 39c Step 4: Parameter binding editor.

Definition at line 320 of file BTNodePropertyPanel.cpp.

References GetComponentTypeID_Static().

Referenced by RenderSubGraphControls().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderSubGraphControls()

void Olympe::BTNodePropertyPanel::RenderSubGraphControls ( GraphNode node)
private

◆ SetSelectedNode()

void Olympe::BTNodePropertyPanel::SetSelectedNode ( int  graphId,
int  nodeId 
)

Set the currently selected node ID.

Parameters
graphIdActive graph ID in BTNodeGraphManager
nodeIdLocal node ID within the graph

Definition at line 32 of file BTNodePropertyPanel.cpp.

References Olympe::NodeGraphManager::Get(), GetComponentTypeID_Static(), Olympe::NodeGraphManager::GetGraph(), m_activeGraphId, m_nodeNameBuffer, and m_selectedNodeId.

Referenced by Olympe::BehaviorTreeRenderer::RenderRightPanelTabs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_activeGraphId

int Olympe::BTNodePropertyPanel::m_activeGraphId = -1
private

Current graph ID in BTNodeGraphManager.

Definition at line 69 of file BTNodePropertyPanel.h.

Referenced by ClearSelection(), Render(), RenderNodeBasicInfo(), RenderSubGraphControls(), and SetSelectedNode().

◆ m_nodeNameBuffer

char Olympe::BTNodePropertyPanel::m_nodeNameBuffer[256] = {0}
private

Buffer for node name editing.

Definition at line 70 of file BTNodePropertyPanel.h.

Referenced by ApplyNodeChanges(), BTNodePropertyPanel(), ClearSelection(), RenderNodeBasicInfo(), and SetSelectedNode().

◆ m_paramBuffer

char Olympe::BTNodePropertyPanel::m_paramBuffer[512] = {0}
private

Buffer for parameter editing.

Definition at line 71 of file BTNodePropertyPanel.h.

Referenced by BTNodePropertyPanel(), and ClearSelection().

◆ m_selectedNodeId

int Olympe::BTNodePropertyPanel::m_selectedNodeId = -1

The documentation for this class was generated from the following files: