diff --git a/src/AnimGraph/AnimGraphEditor.cc b/src/AnimGraph/AnimGraphEditor.cc index ea3f0ff..aa97a91 100644 --- a/src/AnimGraph/AnimGraphEditor.cc +++ b/src/AnimGraph/AnimGraphEditor.cc @@ -397,14 +397,14 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) { // ax::NodeEditor::Begin("Graph Editor"); - for (size_t node_index = 0, - n = sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNumNodes(); + AnimGraphResource* current_graph = + sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex]; + BlendTreeResource& current_blend_tree = current_graph->m_blend_tree_resource; + + for (size_t node_index = 0, n = current_blend_tree.GetNumNodes(); node_index < n; node_index++) { - AnimNodeResource* node_resource = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNode(node_index); + AnimNodeResource* node_resource = current_blend_tree.GetNode(node_index); ax::NodeEditor::NodeId node_id(node_resource); if (sEditorState.isGraphLoadedThisFrame) { @@ -417,8 +417,7 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) { // Inputs std::vector node_inputs = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNodeInputSockets(node_resource); + current_blend_tree.GetNodeInputSockets(node_resource); for (size_t j = 0, ni = node_inputs.size(); j < ni; j++) { Socket& socket = node_inputs[j]; ax::NodeEditor::BeginPin( @@ -432,8 +431,7 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) { // Outputs std::vector node_outputs = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNodeOutputSockets(node_resource); + current_blend_tree.GetNodeOutputSockets(node_resource); for (size_t j = 0, ni = node_outputs.size(); j < ni; j++) { Socket& socket = node_outputs[j]; ax::NodeEditor::BeginPin( @@ -453,27 +451,20 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) { } int link_id = 0; - for (size_t connection_id = 0, - n = sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNumConnections(); + for (size_t connection_id = 0, n = current_blend_tree.GetNumConnections(); connection_id < n; connection_id++) { const BlendTreeConnectionResource* connection_resource = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetConnection(connection_id); + current_blend_tree.GetConnection(connection_id); const AnimNodeResource* source_node_resource = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNode( - connection_resource->source_node_index); + current_blend_tree.GetNode(connection_resource->source_node_index); int source_socket_index = source_node_resource->m_virtual_socket_accessor->GetOutputIndex( connection_resource->source_socket_name.c_str()); const AnimNodeResource* target_node_resource = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNode( - connection_resource->target_node_index); + current_blend_tree.GetNode(connection_resource->target_node_index); int target_socket_index = target_node_resource->m_virtual_socket_accessor->GetInputIndex( connection_resource->target_socket_name.c_str()); @@ -506,18 +497,14 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) { &source_node_index, &source_node_socket_index); - source_node = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNode(source_node_index); + source_node = current_blend_tree.GetNode(source_node_index); if (source_node->m_virtual_socket_accessor->m_outputs.size() < source_node_socket_index) { source_node_socket_index = -1; } else { - source_socket = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNodeOutputSocketByIndex( - source_node, - source_node_socket_index); + source_socket = current_blend_tree.GetNodeOutputSocketByIndex( + source_node, + source_node_socket_index); } } @@ -532,37 +519,31 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) { &target_node_index, &target_node_socket_index); - target_node = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNode(target_node_index); + target_node = current_blend_tree.GetNode(target_node_index); if (target_node->m_virtual_socket_accessor->m_inputs.size() < target_node_socket_index) { target_node_socket_index = -1; } else { - target_socket = - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.GetNodeInputSocketByIndex( - target_node, - target_node_socket_index); + target_socket = current_blend_tree.GetNodeInputSocketByIndex( + target_node, + target_node_socket_index); } } if (input_pin_id && output_pin_id) { if (source_socket == nullptr || target_socket == nullptr - || !sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.IsConnectionValid( - source_node, - source_socket->m_name, - target_node, - target_socket->m_name)) { + || !current_blend_tree.IsConnectionValid( + source_node, + source_socket->m_name, + target_node, + target_socket->m_name)) { ax::NodeEditor::RejectNewItem(); } else if (ax::NodeEditor::AcceptNewItem()) { - sEditorState.hierarchyStack[sEditorState.hierarchyStackIndex] - ->m_blend_tree_resource.ConnectSockets( - source_node, - source_socket->m_name, - target_node, - target_socket->m_name); + current_blend_tree.ConnectSockets( + source_node, + source_socket->m_name, + target_node, + target_socket->m_name); } } }