![]() |
Olympe Engine 2.0
2D Game Engine with ECS Architecture
|
NodeGraphManager - Manages multiple node graphs Allows opening multiple behavior trees/FSMs simultaneously. More...
#include <BTNodeGraphManager.h>
Public Member Functions | |
| void | Initialize () |
| void | Shutdown () |
| int | CreateGraph (const std::string &name, const std::string &type) |
| bool | CloseGraph (int graphId) |
| NodeGraph * | GetGraph (int graphId) |
| const NodeGraph * | GetGraph (int graphId) const |
| void | SetActiveGraph (int graphId) |
| int | GetActiveGraphId () const |
| NodeGraph * | GetActiveGraph () |
| const NodeGraph * | GetActiveGraph () const |
| std::vector< int > | GetAllGraphIds () const |
| std::string | GetGraphName (int graphId) const |
| void | SetGraphOrder (const std::vector< int > &newOrder) |
| bool | SaveGraph (int graphId, const std::string &filepath) |
| int | LoadGraph (const std::string &filepath) |
| bool | IsInitialized () const |
| bool | IsGraphDirty (int graphId) const |
| bool | HasUnsavedChanges () const |
Static Public Member Functions | |
| static NodeGraphManager & | Instance () |
| static NodeGraphManager & | Get () |
Private Member Functions | |
| NodeGraphManager () | |
| ~NodeGraphManager () | |
| NodeGraphManager (const NodeGraphManager &)=delete | |
| NodeGraphManager & | operator= (const NodeGraphManager &)=delete |
Private Attributes | |
| bool | m_Initialized = false |
| int | m_ActiveGraphId = -1 |
| int | m_LastActiveGraphId = -1 |
| int | m_NextGraphId = 1 |
| std::map< int, std::unique_ptr< NodeGraph > > | m_Graphs |
| std::vector< int > | m_GraphOrder |
NodeGraphManager - Manages multiple node graphs Allows opening multiple behavior trees/FSMs simultaneously.
Definition at line 409 of file BTNodeGraphManager.h.
|
private |
Definition at line 753 of file BTNodeGraphManager.cpp.
|
private |
Definition at line 757 of file BTNodeGraphManager.cpp.
References Shutdown().
Here is the call graph for this function:
|
privatedelete |
Definition at line 798 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), m_ActiveGraphId, m_GraphOrder, m_Graphs, and m_LastActiveGraphId.
Referenced by Olympe::BehaviorTreeRenderer::CreateNew(), Olympe::NodeGraphShared::BTGraphDocumentConverter::FromBehaviorTree(), Olympe::BehaviorTreeRenderer::Load(), Olympe::NodeGraphPanel::RenderGraphTabs(), Olympe::BehaviorTreeDebugWindow::RenderNodeGraphDebugPanel(), Olympe::BehaviorTreeDebugWindow::ShutdownNodeGraphDebugMode(), and Olympe::BehaviorTreeRenderer::~BehaviorTreeRenderer().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 782 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), m_ActiveGraphId, m_GraphOrder, m_Graphs, m_LastActiveGraphId, and m_NextGraphId.
Referenced by Olympe::BehaviorTreeRenderer::CreateNew(), Olympe::NodeGraphPanel::RenderGraphTabs(), and Olympe::BehaviorTreeDebugWindow::RenderNodeGraphDebugPanel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 413 of file BTNodeGraphManager.h.
References Instance().
Referenced by Olympe::BehaviorTreeRenderer::AcceptNodeDrop(), Olympe::BehaviorTreeRenderer::CreateNew(), Olympe::NodeGraphPanel::CreateNewNode(), Olympe::Blueprint::CreateNodeCommand::Execute(), Olympe::Blueprint::DeleteNodeCommand::Execute(), Olympe::Blueprint::MoveNodeCommand::Execute(), Olympe::Blueprint::LinkNodesCommand::Execute(), Olympe::Blueprint::UnlinkNodesCommand::Execute(), Olympe::Blueprint::SetParameterCommand::Execute(), Olympe::Blueprint::DuplicateNodeCommand::Execute(), Olympe::Blueprint::EditNodeCommand::Execute(), Olympe::NodeGraphShared::BTGraphDocumentConverter::FromBehaviorTree(), Olympe::BehaviorTreeRenderer::HandleKeyboardShortcuts(), Olympe::NodeGraphPanel::HandleKeyboardShortcuts(), Olympe::NodeGraphPanel::HandleNodeInteractions(), Olympe::BlueprintEditor::Initialize(), Olympe::BehaviorTreeRenderer::IsDirty(), Olympe::BehaviorTreeRenderer::Load(), Olympe::BehaviorTreeRenderer::OnRunGraphClicked(), Olympe::BlueprintEditor::OpenGraphInEditor(), Olympe::BTNodePropertyPanel::Render(), Olympe::BehaviorTreeRenderer::Render(), Olympe::NodeGraphPanel::RenderContent(), Olympe::NodeGraphPanel::RenderContextMenu(), Olympe::NodeGraphPanel::RenderGraph(), Olympe::NodeGraphPanel::RenderGraphTabs(), Olympe::BTNodePropertyPanel::RenderNodeBasicInfo(), Olympe::NodeGraphPanel::RenderNodeEditModal(), Olympe::BehaviorTreeDebugWindow::RenderNodeGraphDebugPanel(), Olympe::NodeGraphPanel::RenderNodePinsAndContent(), Olympe::BehaviorTreeRenderer::Save(), Olympe::BTNodePropertyPanel::SetSelectedNode(), Olympe::BlueprintEditor::Shutdown(), Olympe::BehaviorTreeDebugWindow::ShutdownNodeGraphDebugMode(), Olympe::NodeGraphPanel::SyncNodePositionsFromImNodes(), Olympe::Blueprint::CreateNodeCommand::Undo(), Olympe::Blueprint::DeleteNodeCommand::Undo(), Olympe::Blueprint::MoveNodeCommand::Undo(), Olympe::Blueprint::LinkNodesCommand::Undo(), Olympe::Blueprint::UnlinkNodesCommand::Undo(), Olympe::Blueprint::SetParameterCommand::Undo(), Olympe::Blueprint::DuplicateNodeCommand::Undo(), Olympe::Blueprint::EditNodeCommand::Undo(), Olympe::ValidationPanel::ValidateActiveGraph(), and Olympe::BehaviorTreeRenderer::~BehaviorTreeRenderer().
Here is the call graph for this function:
Here is the caller graph for this function:| NodeGraph * Olympe::NodeGraphManager::GetActiveGraph | ( | ) |
Definition at line 875 of file BTNodeGraphManager.cpp.
References GetGraph(), and m_ActiveGraphId.
Referenced by Olympe::NodeGraphPanel::CreateNewNode(), Olympe::NodeGraphPanel::HandleKeyboardShortcuts(), Olympe::NodeGraphPanel::HandleNodeInteractions(), Olympe::NodeGraphPanel::RenderContent(), Olympe::NodeGraphPanel::RenderContextMenu(), Olympe::NodeGraphPanel::RenderGraph(), Olympe::NodeGraphPanel::RenderNodeEditModal(), Olympe::NodeGraphPanel::RenderNodePinsAndContent(), and Olympe::ValidationPanel::ValidateActiveGraph().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 880 of file BTNodeGraphManager.cpp.
References GetGraph(), and m_ActiveGraphId.
Here is the call graph for this function:
|
inline |
Definition at line 427 of file BTNodeGraphManager.h.
References m_ActiveGraphId.
Referenced by Olympe::NodeGraphPanel::CreateNewNode(), Olympe::NodeGraphPanel::HandleKeyboardShortcuts(), Olympe::NodeGraphPanel::RenderContent(), Olympe::NodeGraphPanel::RenderGraph(), and Olympe::NodeGraphPanel::RenderGraphTabs().
Here is the caller graph for this function:| std::vector< int > Olympe::NodeGraphManager::GetAllGraphIds | ( | ) | const |
Definition at line 885 of file BTNodeGraphManager.cpp.
References m_GraphOrder.
Referenced by Olympe::NodeGraphPanel::RenderGraphTabs().
Here is the caller graph for this function:Definition at line 850 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), and m_Graphs.
Referenced by Olympe::BehaviorTreeRenderer::AcceptNodeDrop(), Olympe::Blueprint::CreateNodeCommand::Execute(), Olympe::Blueprint::DeleteNodeCommand::Execute(), Olympe::Blueprint::MoveNodeCommand::Execute(), Olympe::Blueprint::LinkNodesCommand::Execute(), Olympe::Blueprint::UnlinkNodesCommand::Execute(), Olympe::Blueprint::SetParameterCommand::Execute(), Olympe::Blueprint::DuplicateNodeCommand::Execute(), Olympe::Blueprint::EditNodeCommand::Execute(), Olympe::NodeGraphShared::BTGraphDocumentConverter::FromBehaviorTree(), GetActiveGraph(), GetActiveGraph(), GetGraphName(), Olympe::BehaviorTreeRenderer::HandleKeyboardShortcuts(), Olympe::BehaviorTreeRenderer::IsDirty(), IsGraphDirty(), Olympe::BehaviorTreeRenderer::OnRunGraphClicked(), Olympe::BTNodePropertyPanel::Render(), Olympe::NodeGraphPanel::RenderGraph(), Olympe::NodeGraphPanel::RenderGraphTabs(), Olympe::BTNodePropertyPanel::RenderNodeBasicInfo(), Olympe::BehaviorTreeDebugWindow::RenderNodeGraphDebugPanel(), SaveGraph(), Olympe::BTNodePropertyPanel::SetSelectedNode(), Olympe::NodeGraphPanel::SyncNodePositionsFromImNodes(), Olympe::Blueprint::CreateNodeCommand::Undo(), Olympe::Blueprint::DeleteNodeCommand::Undo(), Olympe::Blueprint::MoveNodeCommand::Undo(), Olympe::Blueprint::LinkNodesCommand::Undo(), Olympe::Blueprint::UnlinkNodesCommand::Undo(), Olympe::Blueprint::SetParameterCommand::Undo(), Olympe::Blueprint::DuplicateNodeCommand::Undo(), and Olympe::Blueprint::EditNodeCommand::Undo().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 858 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), and m_Graphs.
Here is the call graph for this function:| std::string Olympe::NodeGraphManager::GetGraphName | ( | int | graphId | ) | const |
Definition at line 891 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), and GetGraph().
Referenced by Olympe::NodeGraphPanel::RenderGraphTabs().
Here is the call graph for this function:
Here is the caller graph for this function:| bool Olympe::NodeGraphManager::HasUnsavedChanges | ( | ) | const |
Definition at line 1163 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), and m_Graphs.
Here is the call graph for this function:| void Olympe::NodeGraphManager::Initialize | ( | ) |
Definition at line 762 of file BTNodeGraphManager.cpp.
References m_Initialized.
Referenced by Olympe::BlueprintEditor::Initialize().
Here is the caller graph for this function:
|
static |
Definition at line 747 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static().
Referenced by Get().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1157 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), and GetGraph().
Here is the call graph for this function:
|
inline |
Definition at line 441 of file BTNodeGraphManager.h.
References m_Initialized.
Definition at line 955 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), m_ActiveGraphId, m_GraphOrder, m_Graphs, m_LastActiveGraphId, m_NextGraphId, and Olympe::SubgraphMigrator::Migrate().
Referenced by Olympe::NodeGraphShared::BTGraphDocumentConverter::FromBehaviorTree(), Olympe::BehaviorTreeRenderer::Load(), and Olympe::BlueprintEditor::OpenGraphInEditor().
Here is the call graph for this function:
Here is the caller graph for this function:
|
privatedelete |
Definition at line 914 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), and GetGraph().
Referenced by Olympe::BehaviorTreeRenderer::Save().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 866 of file BTNodeGraphManager.cpp.
References m_ActiveGraphId, m_Graphs, and m_LastActiveGraphId.
Referenced by Olympe::BehaviorTreeRenderer::CreateNew(), Olympe::BehaviorTreeRenderer::Load(), Olympe::BehaviorTreeRenderer::Render(), Olympe::NodeGraphPanel::RenderGraphTabs(), and Olympe::BehaviorTreeDebugWindow::RenderNodeGraphDebugPanel().
Here is the caller graph for this function:Definition at line 897 of file BTNodeGraphManager.cpp.
References GetComponentTypeID_Static(), m_GraphOrder, and m_Graphs.
Here is the call graph for this function:| void Olympe::NodeGraphManager::Shutdown | ( | ) |
Definition at line 771 of file BTNodeGraphManager.cpp.
References m_ActiveGraphId, m_Graphs, and m_Initialized.
Referenced by Olympe::BlueprintEditor::Shutdown(), and ~NodeGraphManager().
Here is the caller graph for this function:
|
private |
Definition at line 456 of file BTNodeGraphManager.h.
Referenced by CloseGraph(), CreateGraph(), GetActiveGraph(), GetActiveGraph(), GetActiveGraphId(), LoadGraph(), SetActiveGraph(), and Shutdown().
|
private |
Definition at line 460 of file BTNodeGraphManager.h.
Referenced by CloseGraph(), CreateGraph(), GetAllGraphIds(), LoadGraph(), and SetGraphOrder().
Definition at line 459 of file BTNodeGraphManager.h.
Referenced by CloseGraph(), CreateGraph(), GetGraph(), GetGraph(), HasUnsavedChanges(), LoadGraph(), SetActiveGraph(), SetGraphOrder(), and Shutdown().
Definition at line 455 of file BTNodeGraphManager.h.
Referenced by Initialize(), IsInitialized(), and Shutdown().
|
private |
Definition at line 457 of file BTNodeGraphManager.h.
Referenced by CloseGraph(), CreateGraph(), LoadGraph(), and SetActiveGraph().
|
private |
Definition at line 458 of file BTNodeGraphManager.h.
Referenced by CreateGraph(), and LoadGraph().