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

NodeGraphPanel - ImGui/ImNodes panel for node graph editing Provides visual editor for behavior trees and state machines. More...

#include <NodeGraphPanel.h>

+ Collaboration diagram for Olympe::NodeGraphPanel:

Public Member Functions

 NodeGraphPanel ()
 
 ~NodeGraphPanel ()
 
void Initialize ()
 
void Shutdown ()
 
void Render ()
 
void RenderGraphTabs ()
 
void RenderGraph ()
 
void RenderContextMenu ()
 
void RenderNodeProperties ()
 
void RenderNodeEditModal ()
 
void HandleKeyboardShortcuts ()
 
void HandleNodeInteractions (int graphID)
 
void CreateNewNode (const char *nodeType, float x, float y)
 
int GlobalUIDToLocalNodeID (int globalUID, int graphID) const
 

Public Attributes

int m_SelectedNodeId = -1
 
int m_SelectedLinkId = -1
 
bool m_ShowContextMenu = false
 
float m_ContextMenuPosX = 0.0f
 
float m_ContextMenuPosY = 0.0f
 
bool m_ShowNodeEditModal = false
 
GraphNodem_EditingNode = nullptr
 
int m_EditingNodeId = -1
 
char m_NodeNameBuffer [256]
 
bool m_NodeDragStarted = false
 
int m_DraggedNodeId = -1
 
float m_DragStartX = 0.0f
 
float m_DragStartY = 0.0f
 

Detailed Description

NodeGraphPanel - ImGui/ImNodes panel for node graph editing Provides visual editor for behavior trees and state machines.

Definition at line 20 of file NodeGraphPanel.h.

Constructor & Destructor Documentation

◆ NodeGraphPanel()

Olympe::NodeGraphPanel::NodeGraphPanel ( )

Definition at line 46 of file NodeGraphPanel.cpp.

◆ ~NodeGraphPanel()

Olympe::NodeGraphPanel::~NodeGraphPanel ( )

Definition at line 50 of file NodeGraphPanel.cpp.

Member Function Documentation

◆ CreateNewNode()

void Olympe::NodeGraphPanel::CreateNewNode ( const char nodeType,
float  x,
float  y 
)

Definition at line 948 of file NodeGraphPanel.cpp.

References Olympe::NodeGraphManager::Get(), Olympe::NodeGraphManager::GetActiveGraph(), GetComponentTypeID_Static(), and Olympe::StringToNodeType().

Referenced by RenderContextMenu().

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

◆ GlobalUIDToLocalNodeID()

int Olympe::NodeGraphPanel::GlobalUIDToLocalNodeID ( int  globalUID,
int  graphID 
) const
inline

Definition at line 43 of file NodeGraphPanel.h.

References GetComponentTypeID_Static().

Referenced by HandleNodeInteractions(), and RenderGraph().

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

◆ HandleKeyboardShortcuts()

void Olympe::NodeGraphPanel::HandleKeyboardShortcuts ( )

◆ HandleNodeInteractions()

void Olympe::NodeGraphPanel::HandleNodeInteractions ( int  graphID)

◆ Initialize()

void Olympe::NodeGraphPanel::Initialize ( )

Definition at line 54 of file NodeGraphPanel.cpp.

Referenced by Olympe::BlueprintEditorGUI::Initialize().

+ Here is the caller graph for this function:

◆ Render()

void Olympe::NodeGraphPanel::Render ( )

◆ RenderContextMenu()

void Olympe::NodeGraphPanel::RenderContextMenu ( )

◆ RenderGraph()

void Olympe::NodeGraphPanel::RenderGraph ( )

◆ RenderGraphTabs()

void Olympe::NodeGraphPanel::RenderGraphTabs ( )

◆ RenderNodeEditModal()

void Olympe::NodeGraphPanel::RenderNodeEditModal ( )

◆ RenderNodeProperties()

void Olympe::NodeGraphPanel::RenderNodeProperties ( )

Definition at line 976 of file NodeGraphPanel.cpp.

◆ Shutdown()

void Olympe::NodeGraphPanel::Shutdown ( )

Definition at line 59 of file NodeGraphPanel.cpp.

Referenced by Olympe::BlueprintEditorGUI::Shutdown().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_ContextMenuPosX

float Olympe::NodeGraphPanel::m_ContextMenuPosX = 0.0f

Definition at line 52 of file NodeGraphPanel.h.

Referenced by RenderContextMenu(), and RenderGraph().

◆ m_ContextMenuPosY

float Olympe::NodeGraphPanel::m_ContextMenuPosY = 0.0f

Definition at line 53 of file NodeGraphPanel.h.

Referenced by RenderContextMenu(), and RenderGraph().

◆ m_DraggedNodeId

int Olympe::NodeGraphPanel::m_DraggedNodeId = -1

Definition at line 63 of file NodeGraphPanel.h.

◆ m_DragStartX

float Olympe::NodeGraphPanel::m_DragStartX = 0.0f

Definition at line 64 of file NodeGraphPanel.h.

◆ m_DragStartY

float Olympe::NodeGraphPanel::m_DragStartY = 0.0f

Definition at line 65 of file NodeGraphPanel.h.

◆ m_EditingNode

GraphNode* Olympe::NodeGraphPanel::m_EditingNode = nullptr

Definition at line 57 of file NodeGraphPanel.h.

◆ m_EditingNodeId

int Olympe::NodeGraphPanel::m_EditingNodeId = -1

Definition at line 58 of file NodeGraphPanel.h.

Referenced by RenderGraph(), and RenderNodeEditModal().

◆ m_NodeDragStarted

bool Olympe::NodeGraphPanel::m_NodeDragStarted = false

Definition at line 62 of file NodeGraphPanel.h.

◆ m_NodeNameBuffer

char Olympe::NodeGraphPanel::m_NodeNameBuffer[256]

Definition at line 59 of file NodeGraphPanel.h.

Referenced by RenderGraph(), and RenderNodeEditModal().

◆ m_SelectedLinkId

int Olympe::NodeGraphPanel::m_SelectedLinkId = -1

Definition at line 50 of file NodeGraphPanel.h.

Referenced by RenderGraph().

◆ m_SelectedNodeId

int Olympe::NodeGraphPanel::m_SelectedNodeId = -1

Definition at line 49 of file NodeGraphPanel.h.

Referenced by HandleNodeInteractions(), and RenderGraph().

◆ m_ShowContextMenu

bool Olympe::NodeGraphPanel::m_ShowContextMenu = false

Definition at line 51 of file NodeGraphPanel.h.

◆ m_ShowNodeEditModal

bool Olympe::NodeGraphPanel::m_ShowNodeEditModal = false

Definition at line 56 of file NodeGraphPanel.h.

Referenced by RenderGraph(), and RenderNodeEditModal().


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