Fixed building of editor app, though crashes everywhere.
This commit is contained in:
@@ -61,10 +61,10 @@ void RemoveBlendTreeConnectionsForSocket(
|
||||
BlendTreeResource& blend_tree_resource,
|
||||
AnimNodeResource* node_resource,
|
||||
Socket& socket) {
|
||||
std::vector<BlendTreeConnectionResource>::iterator iter =
|
||||
blend_tree_resource.m_connections.begin();
|
||||
std::vector<BlendTreeConnectionResource>::const_iterator iter =
|
||||
blend_tree_resource.GetConnections().begin();
|
||||
|
||||
while (iter != blend_tree_resource.m_connections.end()) {
|
||||
while (iter != blend_tree_resource.GetConnections().end()) {
|
||||
// TODO adjust for refactor
|
||||
assert(false);
|
||||
|
||||
@@ -299,11 +299,11 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) {
|
||||
|
||||
#if 1
|
||||
for (size_t node_id = 0,
|
||||
n = sGraphGresource.m_blend_tree_resource.m_nodes.size();
|
||||
n = sGraphGresource.m_blend_tree_resource.GetNumNodes();
|
||||
node_id < n;
|
||||
node_id++) {
|
||||
AnimNodeResource* node_resource =
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes[node_id];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(node_id);
|
||||
|
||||
if (node_id == 0 || node_id == 1) {
|
||||
// continue;
|
||||
@@ -346,31 +346,31 @@ void AnimGraphEditorUpdate(ax::NodeEditor::EditorContext* context) {
|
||||
|
||||
int link_id = 0;
|
||||
for (size_t connection_id = 0,
|
||||
n = sGraphGresource.m_blend_tree_resource.m_connections.size();
|
||||
n = sGraphGresource.m_blend_tree_resource.GetNumConnections();
|
||||
connection_id < n;
|
||||
connection_id++) {
|
||||
const BlendTreeConnectionResource& connection_resource =
|
||||
sGraphGresource.m_blend_tree_resource.m_connections[connection_id];
|
||||
const BlendTreeConnectionResource* connection_resource =
|
||||
sGraphGresource.m_blend_tree_resource.GetConnection(connection_id);
|
||||
|
||||
const AnimNodeResource* source_node_resource =
|
||||
sGraphGresource.m_blend_tree_resource
|
||||
.m_nodes[connection_resource.source_node_index];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(
|
||||
connection_resource->source_node_index);
|
||||
int source_socket_index =
|
||||
source_node_resource->m_socket_accessor->GetOutputIndex(
|
||||
connection_resource.source_socket_name.c_str());
|
||||
connection_resource->source_socket_name.c_str());
|
||||
|
||||
const AnimNodeResource* target_node_resource =
|
||||
sGraphGresource.m_blend_tree_resource
|
||||
.m_nodes[connection_resource.target_node_index];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(
|
||||
connection_resource->target_node_index);
|
||||
int target_socket_index =
|
||||
target_node_resource->m_socket_accessor->GetInputIndex(
|
||||
connection_resource.target_socket_name.c_str());
|
||||
connection_resource->target_socket_name.c_str());
|
||||
|
||||
int source_socket_id = GetNodeOutputSocketId(
|
||||
static_cast<int>(connection_resource.source_node_index),
|
||||
static_cast<int>(connection_resource->source_node_index),
|
||||
source_socket_index);
|
||||
int target_socket_id = GetNodeInputSocketId(
|
||||
static_cast<int>(connection_resource.target_node_index),
|
||||
static_cast<int>(connection_resource->target_node_index),
|
||||
target_socket_index);
|
||||
|
||||
ax::NodeEditor::Link(link_id++, source_socket_id, target_socket_id);
|
||||
@@ -407,11 +407,11 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
if (ImGui::Button("Load")) {
|
||||
sGraphGresource.LoadFromFile("editor_graph.json");
|
||||
|
||||
for (size_t i = 0, n = sGraphGresource.m_blend_tree_resource.m_nodes.size();
|
||||
for (size_t i = 0, n = sGraphGresource.m_blend_tree_resource.GetNumNodes();
|
||||
i < n;
|
||||
i++) {
|
||||
const AnimNodeResource* node_resource =
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes[i];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(i);
|
||||
ImNodes::SetNodeGridSpacePos(
|
||||
i,
|
||||
ImVec2(node_resource->m_position[0], node_resource->m_position[1]));
|
||||
@@ -485,9 +485,9 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
if (node_type_name != "") {
|
||||
AnimNodeResource* node_resource =
|
||||
AnimNodeResourceFactory(node_type_name);
|
||||
size_t node_id = sGraphGresource.m_blend_tree_resource.m_nodes.size();
|
||||
size_t node_id = sGraphGresource.m_blend_tree_resource.GetNumNodes();
|
||||
ImNodes::SetNodeScreenSpacePos(node_id, ImGui::GetMousePos());
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes.push_back(node_resource);
|
||||
sGraphGresource.m_blend_tree_resource.AddNode(node_resource);
|
||||
}
|
||||
|
||||
ImGui::EndPopup();
|
||||
@@ -496,11 +496,11 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
ImGui::PopStyleVar(ImGuiStyleVar_WindowPadding);
|
||||
}
|
||||
|
||||
for (size_t i = 0, n = sGraphGresource.m_blend_tree_resource.m_nodes.size();
|
||||
for (size_t i = 0, n = sGraphGresource.m_blend_tree_resource.GetNumNodes();
|
||||
i < n;
|
||||
i++) {
|
||||
AnimNodeResource* node_resource =
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes[i];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(i);
|
||||
|
||||
ImNodes::BeginNode(i);
|
||||
ImGui::PushItemWidth(110.0f);
|
||||
@@ -624,30 +624,30 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
}
|
||||
|
||||
for (size_t i = 0,
|
||||
n = sGraphGresource.m_blend_tree_resource.m_connections.size();
|
||||
n = sGraphGresource.m_blend_tree_resource.GetNumConnections();
|
||||
i < n;
|
||||
i++) {
|
||||
const BlendTreeConnectionResource& connection =
|
||||
sGraphGresource.m_blend_tree_resource.m_connections[i];
|
||||
const BlendTreeConnectionResource* connection =
|
||||
sGraphGresource.m_blend_tree_resource.GetConnection(i);
|
||||
int start_attr, end_attr;
|
||||
|
||||
const AnimNodeResource* source_node =
|
||||
sGraphGresource.m_blend_tree_resource
|
||||
.m_nodes[connection.source_node_index];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(
|
||||
connection->source_node_index);
|
||||
int source_socket_index = source_node->m_socket_accessor->GetOutputIndex(
|
||||
connection.source_socket_name.c_str());
|
||||
connection->source_socket_name.c_str());
|
||||
|
||||
const AnimNodeResource* target_node =
|
||||
sGraphGresource.m_blend_tree_resource
|
||||
.m_nodes[connection.target_node_index];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(
|
||||
connection->target_node_index);
|
||||
int target_socket_index = target_node->m_socket_accessor->GetInputIndex(
|
||||
connection.target_socket_name.c_str());
|
||||
connection->target_socket_name.c_str());
|
||||
|
||||
start_attr = GenerateOutputAttributeId(
|
||||
connection.source_node_index,
|
||||
connection->source_node_index,
|
||||
source_socket_index);
|
||||
end_attr = GenerateInputAttributeId(
|
||||
connection.target_node_index,
|
||||
connection->target_node_index,
|
||||
target_socket_index);
|
||||
|
||||
ImNodes::Link(i, start_attr, end_attr);
|
||||
@@ -672,18 +672,22 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
BlendTreeConnectionResource connection;
|
||||
connection.source_node_index = node_start_id;
|
||||
const AnimNodeResource* source_node =
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes[node_start_id];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(node_start_id);
|
||||
connection.source_socket_name =
|
||||
source_node->m_socket_accessor->m_outputs[node_start_output_index]
|
||||
.m_name;
|
||||
|
||||
connection.target_node_index = node_end_id;
|
||||
const AnimNodeResource* target_node =
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes[node_end_id];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(node_end_id);
|
||||
connection.target_socket_name =
|
||||
target_node->m_socket_accessor->m_inputs[node_end_input_index].m_name;
|
||||
|
||||
sGraphGresource.m_blend_tree_resource.m_connections.push_back(connection);
|
||||
sGraphGresource.m_blend_tree_resource.ConnectSockets(
|
||||
source_node,
|
||||
connection.source_socket_name,
|
||||
target_node,
|
||||
connection.target_socket_name);
|
||||
}
|
||||
|
||||
if (ImGui::IsKeyPressed(ImGuiKey_Delete, false)) {
|
||||
@@ -693,8 +697,19 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
// Handle link detachements.
|
||||
int link_id = 0;
|
||||
if (ImNodes::IsLinkDestroyed(&link_id)) {
|
||||
sGraphGresource.m_blend_tree_resource.m_connections.erase(
|
||||
sGraphGresource.m_blend_tree_resource.m_connections.begin() + link_id);
|
||||
BlendTreeConnectionResource* connection =
|
||||
sGraphGresource.m_blend_tree_resource.GetConnection(link_id);
|
||||
AnimNodeResource* source_node =
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(
|
||||
connection->source_node_index);
|
||||
AnimNodeResource* target_node =
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(
|
||||
connection->target_node_index);
|
||||
sGraphGresource.m_blend_tree_resource.DisconnectSockets(
|
||||
source_node,
|
||||
connection->source_socket_name,
|
||||
target_node,
|
||||
connection->target_socket_name);
|
||||
}
|
||||
|
||||
int selected_nodes[ImNodes::NumSelectedNodes()];
|
||||
@@ -707,9 +722,9 @@ void LegacyAnimGraphEditorUpdate() {
|
||||
|
||||
if (ImNodes::NumSelectedNodes() == 1) {
|
||||
if (selected_nodes[0]
|
||||
< sGraphGresource.m_blend_tree_resource.m_nodes.size()) {
|
||||
< sGraphGresource.m_blend_tree_resource.GetNumNodes()) {
|
||||
AnimNodeResource* selected_node =
|
||||
sGraphGresource.m_blend_tree_resource.m_nodes[selected_nodes[0]];
|
||||
sGraphGresource.m_blend_tree_resource.GetNode(selected_nodes[0]);
|
||||
AnimGraphEditorRenderSidebar(
|
||||
sGraphGresource.m_blend_tree_resource,
|
||||
selected_node);
|
||||
|
||||
Reference in New Issue
Block a user