Minor cleanup in editor.
This commit is contained in:
parent
40f631c51a
commit
45d56dea0d
@ -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<Socket> 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<Socket> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user