Trying to only store a single socket in AnimGraphConnection. Not sure yet where this leads.
This commit is contained in:
parent
28eca48a61
commit
5d54b57a95
@ -62,7 +62,8 @@ void AnimGraphBlendTree::UpdateOrderedNodesRecursive(int node_index) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimGraphBlendTree::MarkActiveInputs(const std::vector<AnimGraphConnection>& input_connections) {
|
void AnimGraphBlendTree::MarkActiveInputs(
|
||||||
|
const std::vector<AnimGraphConnection>& input_connections) {
|
||||||
for (size_t i = 0, n = m_nodes.size(); i < n; i++) {
|
for (size_t i = 0, n = m_nodes.size(); i < n; i++) {
|
||||||
if (m_nodes[i]->m_tick_number != m_tick_number) {
|
if (m_nodes[i]->m_tick_number != m_tick_number) {
|
||||||
m_nodes[i]->m_state = AnimNodeEvalState::Deactivated;
|
m_nodes[i]->m_state = AnimNodeEvalState::Deactivated;
|
||||||
@ -93,8 +94,7 @@ void AnimGraphBlendTree::MarkActiveInputs(const std::vector<AnimGraphConnection>
|
|||||||
const AnimGraphConnection& input =
|
const AnimGraphConnection& input =
|
||||||
m_node_input_connections[node_index][j];
|
m_node_input_connections[node_index][j];
|
||||||
if (input.m_source_node != nullptr
|
if (input.m_source_node != nullptr
|
||||||
&& input.m_target_socket.m_type
|
&& input.m_socket.m_type != SocketType::SocketTypeAnimation) {
|
||||||
!= SocketType::SocketTypeAnimation) {
|
|
||||||
input.m_source_node->m_state = AnimNodeEvalState::Activated;
|
input.m_source_node->m_state = AnimNodeEvalState::Activated;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -102,7 +102,8 @@ void AnimGraphBlendTree::MarkActiveInputs(const std::vector<AnimGraphConnection>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimGraphBlendTree::CalcSyncTrack(const std::vector<AnimGraphConnection>& input_connections) {
|
void AnimGraphBlendTree::CalcSyncTrack(
|
||||||
|
const std::vector<AnimGraphConnection>& input_connections) {
|
||||||
for (size_t i = m_eval_ordered_nodes.size() - 1; i >= 0; i--) {
|
for (size_t i = m_eval_ordered_nodes.size() - 1; i >= 0; i--) {
|
||||||
AnimNode* node = m_eval_ordered_nodes[i];
|
AnimNode* node = m_eval_ordered_nodes[i];
|
||||||
if (node->m_state == AnimNodeEvalState::Deactivated) {
|
if (node->m_state == AnimNodeEvalState::Deactivated) {
|
||||||
@ -162,7 +163,7 @@ void AnimGraphBlendTree::PropagateTimeToNodeInputs(const AnimNode* node) {
|
|||||||
|
|
||||||
// Only propagate time updates via animation sockets.
|
// Only propagate time updates via animation sockets.
|
||||||
if (input_node != nullptr
|
if (input_node != nullptr
|
||||||
&& node_input_connections[i].m_target_socket.m_type
|
&& node_input_connections[i].m_socket.m_type
|
||||||
== SocketType::SocketTypeAnimation
|
== SocketType::SocketTypeAnimation
|
||||||
&& input_node->m_state == AnimNodeEvalState::Activated) {
|
&& input_node->m_state == AnimNodeEvalState::Activated) {
|
||||||
input_node->UpdateTime(node_time_last, node_time_now);
|
input_node->UpdateTime(node_time_last, node_time_now);
|
||||||
@ -173,8 +174,8 @@ void AnimGraphBlendTree::PropagateTimeToNodeInputs(const AnimNode* node) {
|
|||||||
Socket* AnimGraphBlendTree::GetInputSocket(const std::string& name) {
|
Socket* AnimGraphBlendTree::GetInputSocket(const std::string& name) {
|
||||||
for (size_t i = 0, n = m_node_output_connections[1].size(); i < n; i++) {
|
for (size_t i = 0, n = m_node_output_connections[1].size(); i < n; i++) {
|
||||||
AnimGraphConnection& connection = m_node_output_connections[1][i];
|
AnimGraphConnection& connection = m_node_output_connections[1][i];
|
||||||
if (connection.m_source_socket.m_name == name) {
|
if (connection.m_source_socket_name == name) {
|
||||||
return &connection.m_source_socket;
|
return &connection.m_socket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,30 +185,32 @@ Socket* AnimGraphBlendTree::GetInputSocket(const std::string& name) {
|
|||||||
Socket* AnimGraphBlendTree::GetOutputSocket(const std::string& name) {
|
Socket* AnimGraphBlendTree::GetOutputSocket(const std::string& name) {
|
||||||
for (size_t i = 0, n = m_node_input_connections[0].size(); i < n; i++) {
|
for (size_t i = 0, n = m_node_input_connections[0].size(); i < n; i++) {
|
||||||
AnimGraphConnection& connection = m_node_input_connections[0][i];
|
AnimGraphConnection& connection = m_node_input_connections[0][i];
|
||||||
if (connection.m_target_socket.m_name == name) {
|
if (connection.m_target_socket_name == name) {
|
||||||
return &connection.m_target_socket;
|
return &connection.m_socket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Socket* AnimGraphBlendTree::GetInputSocket(const std::string& name) const {
|
const Socket* AnimGraphBlendTree::GetInputSocket(
|
||||||
|
const std::string& name) const {
|
||||||
for (size_t i = 0, n = m_node_output_connections[1].size(); i < n; i++) {
|
for (size_t i = 0, n = m_node_output_connections[1].size(); i < n; i++) {
|
||||||
const AnimGraphConnection& connection = m_node_output_connections[1][i];
|
const AnimGraphConnection& connection = m_node_output_connections[1][i];
|
||||||
if (connection.m_source_socket.m_name == name) {
|
if (connection.m_source_socket_name == name) {
|
||||||
return &connection.m_source_socket;
|
return &connection.m_socket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Socket* AnimGraphBlendTree::GetOutputSocket(const std::string& name) const {
|
const Socket* AnimGraphBlendTree::GetOutputSocket(
|
||||||
|
const std::string& name) const {
|
||||||
for (size_t i = 0, n = m_node_input_connections[0].size(); i < n; i++) {
|
for (size_t i = 0, n = m_node_input_connections[0].size(); i < n; i++) {
|
||||||
const AnimGraphConnection& connection = m_node_input_connections[0][i];
|
const AnimGraphConnection& connection = m_node_input_connections[0][i];
|
||||||
if (connection.m_target_socket.m_name == name) {
|
if (connection.m_target_socket_name == name) {
|
||||||
return &connection.m_target_socket;
|
return &connection.m_socket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,12 +96,29 @@ struct AnimGraphBlendTree : public AnimNode {
|
|||||||
void SetInput(const char* name, T* value_ptr) {
|
void SetInput(const char* name, T* value_ptr) {
|
||||||
m_node_descriptor->SetOutput(name, value_ptr);
|
m_node_descriptor->SetOutput(name, value_ptr);
|
||||||
|
|
||||||
|
std::vector<size_t> connected_node_indices;
|
||||||
|
|
||||||
for (int i = 0; i < m_node_output_connections[1].size(); i++) {
|
for (int i = 0; i < m_node_output_connections[1].size(); i++) {
|
||||||
const AnimGraphConnection& graph_input_connection =
|
const AnimGraphConnection& graph_input_connection =
|
||||||
m_node_output_connections[1][i];
|
m_node_output_connections[1][i];
|
||||||
|
|
||||||
if (graph_input_connection.m_source_socket.m_name == name) {
|
if (graph_input_connection.m_source_socket_name == name) {
|
||||||
*graph_input_connection.m_target_socket.m_reference.ptr_ptr = value_ptr;
|
connected_node_indices.push_back(
|
||||||
|
GetAnimNodeIndex(graph_input_connection.m_target_node));
|
||||||
|
*graph_input_connection.m_socket.m_reference.ptr_ptr = value_ptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < connected_node_indices.size(); i++) {
|
||||||
|
const std::vector<AnimGraphConnection>& connected_node_input_connections =
|
||||||
|
m_node_input_connections[connected_node_indices[i]];
|
||||||
|
for (int j = 0; j < connected_node_input_connections.size(); j++) {
|
||||||
|
const AnimGraphConnection& node_input_connection =
|
||||||
|
connected_node_input_connections[j];
|
||||||
|
if (node_input_connection.m_source_node == m_nodes[1]
|
||||||
|
&& node_input_connection.m_source_socket_name == name) {
|
||||||
|
*node_input_connection.m_socket.m_reference.ptr_ptr = value_ptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,7 +137,7 @@ struct AnimGraphBlendTree : public AnimNode {
|
|||||||
const AnimGraphConnection& graph_output_connection =
|
const AnimGraphConnection& graph_output_connection =
|
||||||
m_node_input_connections[0][i];
|
m_node_input_connections[0][i];
|
||||||
|
|
||||||
if (graph_output_connection.m_target_socket.m_name == name) {
|
if (graph_output_connection.m_target_socket_name == name) {
|
||||||
if (graph_output_connection.m_source_node == m_nodes[1]
|
if (graph_output_connection.m_source_node == m_nodes[1]
|
||||||
&& graph_output_connection.m_target_node == m_nodes[0]) {
|
&& graph_output_connection.m_target_node == m_nodes[0]) {
|
||||||
std::cerr
|
std::cerr
|
||||||
@ -131,8 +148,7 @@ struct AnimGraphBlendTree : public AnimNode {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
*graph_output_connection.m_source_socket.m_reference.ptr_ptr =
|
*graph_output_connection.m_socket.m_reference.ptr_ptr = value_ptr;
|
||||||
value_ptr;
|
|
||||||
|
|
||||||
// Make sure all other output connections of this pin use the same output pointer
|
// Make sure all other output connections of this pin use the same output pointer
|
||||||
int source_node_index =
|
int source_node_index =
|
||||||
@ -145,10 +161,9 @@ struct AnimGraphBlendTree : public AnimNode {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (source_output_connection.m_source_socket.m_name
|
if (source_output_connection.m_source_socket_name
|
||||||
== graph_output_connection.m_source_socket.m_name) {
|
== graph_output_connection.m_source_socket_name) {
|
||||||
*source_output_connection.m_target_socket.m_reference.ptr_ptr =
|
*source_output_connection.m_socket.m_reference.ptr_ptr = value_ptr;
|
||||||
value_ptr;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -169,9 +184,9 @@ struct AnimGraphBlendTree : public AnimNode {
|
|||||||
for (int i = 0; i < m_node_input_connections[0].size(); i++) {
|
for (int i = 0; i < m_node_input_connections[0].size(); i++) {
|
||||||
const AnimGraphConnection& graph_output_connection =
|
const AnimGraphConnection& graph_output_connection =
|
||||||
m_node_input_connections[0][i];
|
m_node_input_connections[0][i];
|
||||||
if (graph_output_connection.m_target_socket.m_name == name) {
|
if (graph_output_connection.m_target_socket_name == name) {
|
||||||
return static_cast<float*>(
|
return static_cast<float*>(
|
||||||
*graph_output_connection.m_source_socket.m_reference.ptr_ptr);
|
*graph_output_connection.m_socket.m_reference.ptr_ptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +228,7 @@ struct AnimGraphBlendTree : public AnimNode {
|
|||||||
const std::vector<AnimGraphConnection>& input_connection =
|
const std::vector<AnimGraphConnection>& input_connection =
|
||||||
m_node_input_connections[node_index];
|
m_node_input_connections[node_index];
|
||||||
for (size_t i = 0, n = input_connection.size(); i < n; i++) {
|
for (size_t i = 0, n = input_connection.size(); i < n; i++) {
|
||||||
if (input_connection[i].m_target_socket.m_name == input_name) {
|
if (input_connection[i].m_target_socket_name == input_name) {
|
||||||
return input_connection[i].m_source_node;
|
return input_connection[i].m_source_node;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -262,13 +262,13 @@ SocketType GetSocketType() {
|
|||||||
|
|
||||||
struct AnimGraphConnection {
|
struct AnimGraphConnection {
|
||||||
AnimNode* m_source_node = nullptr;
|
AnimNode* m_source_node = nullptr;
|
||||||
Socket m_source_socket;
|
std::string m_source_socket_name = "";
|
||||||
AnimNode* m_target_node = nullptr;
|
AnimNode* m_target_node = nullptr;
|
||||||
Socket m_target_socket;
|
std::string m_target_socket_name = "";
|
||||||
|
Socket m_socket;
|
||||||
bool m_crosses_hierarchy = false;
|
bool m_crosses_hierarchy = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct NodeDescriptorBase {
|
struct NodeDescriptorBase {
|
||||||
std::vector<Socket> m_inputs;
|
std::vector<Socket> m_inputs;
|
||||||
std::vector<Socket> m_outputs;
|
std::vector<Socket> m_outputs;
|
||||||
@ -431,7 +431,8 @@ struct NodeDescriptorBase {
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Socket* FindSocket(const char* name, const std::vector<Socket>& sockets) const {
|
const Socket* FindSocket(const char* name, const std::vector<Socket>& sockets)
|
||||||
|
const {
|
||||||
for (int i = 0, n = sockets.size(); i < n; i++) {
|
for (int i = 0, n = sockets.size(); i < n; i++) {
|
||||||
if (sockets[i].m_name == name) {
|
if (sockets[i].m_name == name) {
|
||||||
return &sockets[i];
|
return &sockets[i];
|
||||||
|
@ -32,12 +32,12 @@ struct Blend2Node : public AnimNode {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.m_target_socket.m_name == "Input0" && *i_blend_weight < 0.999) {
|
if (input.m_target_socket_name == "Input0" && *i_blend_weight < 0.999) {
|
||||||
input_node->m_state = AnimNodeEvalState::Activated;
|
input_node->m_state = AnimNodeEvalState::Activated;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.m_target_socket.m_name == "Input1" && *i_blend_weight > 0.001) {
|
if (input.m_target_socket_name == "Input1" && *i_blend_weight > 0.001) {
|
||||||
input_node->m_state = AnimNodeEvalState::Activated;
|
input_node->m_state = AnimNodeEvalState::Activated;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -658,9 +658,15 @@ void AnimGraphResource::CreateBlendTreeConnectionInstances(
|
|||||||
// subgraph.
|
// subgraph.
|
||||||
AnimGraphConnection embedded_graph_activation_connection;
|
AnimGraphConnection embedded_graph_activation_connection;
|
||||||
embedded_graph_activation_connection.m_source_node = source_node;
|
embedded_graph_activation_connection.m_source_node = source_node;
|
||||||
embedded_graph_activation_connection.m_source_socket = *source_socket;
|
embedded_graph_activation_connection.m_source_socket_name =
|
||||||
|
source_socket->m_name;
|
||||||
embedded_graph_activation_connection.m_target_node = target_node;
|
embedded_graph_activation_connection.m_target_node = target_node;
|
||||||
embedded_graph_activation_connection.m_target_socket = *target_socket;
|
embedded_graph_activation_connection.m_target_socket_name =
|
||||||
|
target_socket->m_name;
|
||||||
|
|
||||||
|
// TODO: what to set the pointer to?!?
|
||||||
|
embedded_graph_activation_connection.m_socket = *target_socket;
|
||||||
|
|
||||||
instance.m_node_input_connections[connection.target_node_index].push_back(
|
instance.m_node_input_connections[connection.target_node_index].push_back(
|
||||||
embedded_graph_activation_connection);
|
embedded_graph_activation_connection);
|
||||||
instance.m_node_output_connections[connection.source_node_index]
|
instance.m_node_output_connections[connection.source_node_index]
|
||||||
@ -702,7 +708,7 @@ void AnimGraphResource::CreateBlendTreeConnectionInstances(
|
|||||||
for (size_t j = 0; j < embeded_target_node_inputs.size(); j++) {
|
for (size_t j = 0; j < embeded_target_node_inputs.size(); j++) {
|
||||||
AnimGraphConnection& embedded_target_connection =
|
AnimGraphConnection& embedded_target_connection =
|
||||||
embeded_target_node_inputs[j];
|
embeded_target_node_inputs[j];
|
||||||
if (embedded_target_connection.m_source_socket.m_name
|
if (embedded_target_connection.m_source_socket_name
|
||||||
== target_socket->m_name) {
|
== target_socket->m_name) {
|
||||||
embedded_target_connection.m_source_node = source_node;
|
embedded_target_connection.m_source_node = source_node;
|
||||||
embedded_target_connection.m_crosses_hierarchy = true;
|
embedded_target_connection.m_crosses_hierarchy = true;
|
||||||
@ -711,15 +717,24 @@ void AnimGraphResource::CreateBlendTreeConnectionInstances(
|
|||||||
// connection in the parent blend tree. That way
|
// connection in the parent blend tree. That way
|
||||||
// parent_tree.SetValue<>() correctly propagates the value to the
|
// parent_tree.SetValue<>() correctly propagates the value to the
|
||||||
// embedded node socket.
|
// embedded node socket.
|
||||||
target_socket = &embedded_target_connection.m_target_socket;
|
target_socket = &embedded_target_connection.m_socket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
instance_connection.m_source_node = source_node;
|
instance_connection.m_source_node = source_node;
|
||||||
instance_connection.m_source_socket = *source_socket;
|
instance_connection.m_source_socket_name = source_socket->m_name;
|
||||||
instance_connection.m_target_node = target_node;
|
instance_connection.m_target_node = target_node;
|
||||||
instance_connection.m_target_socket = *target_socket;
|
instance_connection.m_target_socket_name = target_socket->m_name;
|
||||||
|
instance_connection.m_socket = *target_socket;
|
||||||
|
|
||||||
|
if (connection.source_node_index == 1) {
|
||||||
|
instance_connection.m_socket = *target_socket;
|
||||||
|
} else {
|
||||||
|
*instance_connection.m_socket.m_reference.ptr_ptr =
|
||||||
|
&instance.m_connection_data_storage[connection_data_offset];
|
||||||
|
}
|
||||||
|
|
||||||
instance.m_node_input_connections[connection.target_node_index].push_back(
|
instance.m_node_input_connections[connection.target_node_index].push_back(
|
||||||
instance_connection);
|
instance_connection);
|
||||||
instance.m_node_output_connections[connection.source_node_index].push_back(
|
instance.m_node_output_connections[connection.source_node_index].push_back(
|
||||||
@ -727,11 +742,14 @@ void AnimGraphResource::CreateBlendTreeConnectionInstances(
|
|||||||
|
|
||||||
source_node_descriptor->SetOutputUnchecked(
|
source_node_descriptor->SetOutputUnchecked(
|
||||||
connection.source_socket_name.c_str(),
|
connection.source_socket_name.c_str(),
|
||||||
&instance.m_connection_data_storage[connection_data_offset]);
|
instance_connection.m_socket.m_reference.ptr_ptr);
|
||||||
|
|
||||||
target_node_descriptor->SetInputUnchecked(
|
target_node_descriptor->SetInputUnchecked(
|
||||||
connection.target_socket_name.c_str(),
|
connection.target_socket_name.c_str(),
|
||||||
&instance.m_connection_data_storage[connection_data_offset]);
|
instance_connection.m_socket.m_reference.ptr_ptr);
|
||||||
|
|
||||||
|
//*instance_connection.m_socket.m_reference.ptr_ptr =
|
||||||
|
// &instance.m_connection_data_storage[connection_data_offset];
|
||||||
|
|
||||||
if (source_socket->m_type == SocketType::SocketTypeAnimation) {
|
if (source_socket->m_type == SocketType::SocketTypeAnimation) {
|
||||||
instance.m_animdata_blocks.push_back(
|
instance.m_animdata_blocks.push_back(
|
||||||
|
@ -5,21 +5,24 @@
|
|||||||
#include "AnimGraphStateMachine.h"
|
#include "AnimGraphStateMachine.h"
|
||||||
|
|
||||||
bool AnimGraphStateMachine::Init(AnimGraphContext& context) {
|
bool AnimGraphStateMachine::Init(AnimGraphContext& context) {
|
||||||
|
assert(false && !"Not yet implemented!");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimGraphStateMachine::MarkActiveInputs(const std::vector<AnimGraphConnection>& input_connections) {
|
void AnimGraphStateMachine::MarkActiveInputs(
|
||||||
|
const std::vector<AnimGraphConnection>& input_connections) {
|
||||||
|
assert(false && !"Not yet implemented!");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimGraphStateMachine::CalcSyncTrack(const std::vector<AnimGraphConnection>& input_connections) {
|
void AnimGraphStateMachine::CalcSyncTrack(
|
||||||
|
const std::vector<AnimGraphConnection>& input_connections) {
|
||||||
|
assert(false && !"Not yet implemented!");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimGraphStateMachine::UpdateTime(float time_last, float time_now) {
|
void AnimGraphStateMachine::UpdateTime(float time_last, float time_now) {
|
||||||
|
assert(false && !"Not yet implemented!");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimGraphStateMachine::Evaluate(AnimGraphContext& context) {
|
void AnimGraphStateMachine::Evaluate(AnimGraphContext& context) {
|
||||||
|
assert(false && !"Not yet implemented!");
|
||||||
}
|
}
|
@ -56,7 +56,7 @@ struct AnimNode {
|
|||||||
for (const auto& input : input_connections) {
|
for (const auto& input : input_connections) {
|
||||||
AnimNode* input_node = input.m_source_node;
|
AnimNode* input_node = input.m_source_node;
|
||||||
if (input_node != nullptr
|
if (input_node != nullptr
|
||||||
&& input.m_source_socket.m_type == SocketType::SocketTypeAnimation
|
&& input.m_socket.m_type == SocketType::SocketTypeAnimation
|
||||||
&& input_node->m_state != AnimNodeEvalState::Deactivated) {
|
&& input_node->m_state != AnimNodeEvalState::Deactivated) {
|
||||||
m_sync_track = input_node->m_sync_track;
|
m_sync_track = input_node->m_sync_track;
|
||||||
return;
|
return;
|
||||||
|
@ -891,6 +891,9 @@ TEST_CASE("ResourceSaveLoadMathGraphInputs", "[AnimGraphResource]") {
|
|||||||
graph_resource_loaded.CreateBlendTreeInstance(blend_tree_node);
|
graph_resource_loaded.CreateBlendTreeInstance(blend_tree_node);
|
||||||
|
|
||||||
REQUIRE(blend_tree_node.GetInputSocket("GraphFloatInput") != nullptr);
|
REQUIRE(blend_tree_node.GetInputSocket("GraphFloatInput") != nullptr);
|
||||||
|
Socket* input_socket =
|
||||||
|
blend_tree_node.GetInputSocket("GraphFloatInput");
|
||||||
|
|
||||||
REQUIRE(
|
REQUIRE(
|
||||||
blend_tree_node.GetInputPtr("GraphFloatInput")
|
blend_tree_node.GetInputPtr("GraphFloatInput")
|
||||||
== blend_tree_node.m_input_buffer);
|
== blend_tree_node.m_input_buffer);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user