Minor cleanup.
This commit is contained in:
parent
99d5a5eb0f
commit
4b378adc91
@ -116,8 +116,6 @@ void AnimGraphBlendTree::CalcSyncTrack(
|
||||
}
|
||||
|
||||
void AnimGraphBlendTree::UpdateTime(float time_last, float time_now) {
|
||||
float dt = time_now - time_last;
|
||||
|
||||
const std::vector<AnimGraphConnection>& graph_output_inputs =
|
||||
m_node_input_connections[0];
|
||||
for (const AnimGraphConnection& graph_output_input : graph_output_inputs) {
|
||||
|
@ -93,9 +93,6 @@ struct AnimGraphBlendTree : public AnimNode {
|
||||
}
|
||||
}
|
||||
|
||||
const Socket* GetInputSocket(const std::string& name) const;
|
||||
const Socket* GetOutputSocket(const std::string& name) const;
|
||||
|
||||
/** Sets the address that is used for the specified AnimGraph input Socket.
|
||||
*
|
||||
* @tparam T Type of the Socket.
|
||||
@ -207,7 +204,7 @@ struct BlendTreeSocketNode : public AnimNode {};
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<BlendTreeSocketNode> : public NodeDescriptorBase {
|
||||
NodeDescriptor(BlendTreeSocketNode* node_) {}
|
||||
explicit NodeDescriptor(BlendTreeSocketNode* node_) {}
|
||||
};
|
||||
|
||||
#endif //ANIMTESTBED_ANIMGRAPHBLENDTREE_H
|
||||
|
@ -422,7 +422,7 @@ struct NodeDescriptorBase {
|
||||
|
||||
protected:
|
||||
Socket* FindSocket(const char* name, std::vector<Socket>& sockets) {
|
||||
for (int i = 0, n = sockets.size(); i < n; i++) {
|
||||
for (size_t i = 0, n = sockets.size(); i < n; i++) {
|
||||
if (sockets[i].m_name == name) {
|
||||
return &sockets[i];
|
||||
}
|
||||
@ -433,7 +433,7 @@ struct NodeDescriptorBase {
|
||||
|
||||
const Socket* FindSocket(const char* name, const std::vector<Socket>& sockets)
|
||||
const {
|
||||
for (int i = 0, n = sockets.size(); i < n; i++) {
|
||||
for (size_t i = 0, n = sockets.size(); i < n; i++) {
|
||||
if (sockets[i].m_name == name) {
|
||||
return &sockets[i];
|
||||
}
|
||||
@ -443,7 +443,7 @@ struct NodeDescriptorBase {
|
||||
}
|
||||
|
||||
int FindSocketIndex(const char* name, std::vector<Socket>& sockets) {
|
||||
for (int i = 0, n = sockets.size(); i < n; i++) {
|
||||
for (size_t i = 0, n = sockets.size(); i < n; i++) {
|
||||
if (sockets[i].m_name == name) {
|
||||
return i;
|
||||
}
|
||||
|
@ -12,7 +12,8 @@
|
||||
#include "ozz/base/log.h"
|
||||
|
||||
AnimNode* AnimNodeFactory(const std::string& name) {
|
||||
AnimNode* result;
|
||||
AnimNode* result = nullptr;
|
||||
|
||||
if (name == "Blend2") {
|
||||
result = new Blend2Node;
|
||||
} else if (name == "SpeedScale") {
|
||||
@ -31,6 +32,8 @@ AnimNode* AnimNodeFactory(const std::string& name) {
|
||||
result = new MathFloatToVec3Node;
|
||||
} else if (name == "ConstScalarNode") {
|
||||
result = new ConstScalarNode;
|
||||
} else {
|
||||
std::cerr << "Invalid node type: " << name << std::endl;
|
||||
}
|
||||
|
||||
if (result != nullptr) {
|
||||
@ -38,7 +41,6 @@ AnimNode* AnimNodeFactory(const std::string& name) {
|
||||
return result;
|
||||
}
|
||||
|
||||
std::cerr << "Invalid node type: " << name << std::endl;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ struct Blend2Node : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<Blend2Node> : public NodeDescriptorBase {
|
||||
NodeDescriptor(Blend2Node* node) {
|
||||
explicit NodeDescriptor(Blend2Node* node) {
|
||||
RegisterInput("Input0", &node->i_input0);
|
||||
RegisterInput("Input1", &node->i_input1);
|
||||
RegisterInput("Weight", &node->i_blend_weight);
|
||||
@ -95,7 +95,7 @@ struct SpeedScaleNode : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<SpeedScaleNode> : public NodeDescriptorBase {
|
||||
NodeDescriptor(SpeedScaleNode* node) {
|
||||
explicit NodeDescriptor(SpeedScaleNode* node) {
|
||||
RegisterInput(
|
||||
"SpeedScale",
|
||||
&node->i_speed_scale,
|
||||
@ -127,7 +127,7 @@ struct AnimSamplerNode : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<AnimSamplerNode> : public NodeDescriptorBase {
|
||||
NodeDescriptor(AnimSamplerNode* node) {
|
||||
explicit NodeDescriptor(AnimSamplerNode* node) {
|
||||
RegisterOutput("Output", &node->o_output);
|
||||
|
||||
RegisterProperty("Filename", &node->m_filename);
|
||||
@ -150,7 +150,7 @@ struct LockTranslationNode : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<LockTranslationNode> : public NodeDescriptorBase {
|
||||
NodeDescriptor(LockTranslationNode* node) {
|
||||
explicit NodeDescriptor(LockTranslationNode* node) {
|
||||
RegisterInput("Input", &node->i_input);
|
||||
RegisterOutput("Output", &node->o_output);
|
||||
|
||||
@ -173,7 +173,7 @@ struct ConstScalarNode : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<ConstScalarNode> : public NodeDescriptorBase {
|
||||
NodeDescriptor(ConstScalarNode* node) {
|
||||
explicit NodeDescriptor(ConstScalarNode* node) {
|
||||
RegisterOutput("ScalarOutput", &node->o_value);
|
||||
RegisterProperty("ScalarValue", &node->value);
|
||||
}
|
||||
@ -197,7 +197,7 @@ struct MathAddNode : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<MathAddNode> : public NodeDescriptorBase {
|
||||
NodeDescriptor(MathAddNode* node) {
|
||||
explicit NodeDescriptor(MathAddNode* node) {
|
||||
RegisterInput("Input0", &node->i_input0);
|
||||
RegisterInput("Input1", &node->i_input1);
|
||||
RegisterOutput("Output", &node->o_output);
|
||||
@ -226,7 +226,7 @@ struct MathFloatToVec3Node : public AnimNode {
|
||||
|
||||
template <>
|
||||
struct NodeDescriptor<MathFloatToVec3Node> : public NodeDescriptorBase {
|
||||
NodeDescriptor(MathFloatToVec3Node* node) {
|
||||
explicit NodeDescriptor(MathFloatToVec3Node* node) {
|
||||
RegisterInput("Input0", &node->i_input0);
|
||||
RegisterInput("Input1", &node->i_input1);
|
||||
RegisterInput("Input2", &node->i_input2);
|
||||
|
@ -182,7 +182,6 @@ AnimNodeResource* sAnimGraphNodeFromJson(
|
||||
|
||||
if (node_type == "BlendTree") {
|
||||
AnimGraphResource* result = new AnimGraphResource();
|
||||
result->m_socket_accessor = new NodeDescriptorBase;
|
||||
sAnimGraphResourceBlendTreeFromJson(json_node, result);
|
||||
return result;
|
||||
}
|
||||
@ -312,6 +311,9 @@ static bool sAnimGraphResourceBlendTreeFromJson(
|
||||
result_graph_resource->m_name = json_data["name"];
|
||||
result_graph_resource->m_position[0] = json_data["position"][0];
|
||||
result_graph_resource->m_position[1] = json_data["position"][1];
|
||||
assert(result_graph_resource->m_socket_accessor == nullptr);
|
||||
result_graph_resource->m_socket_accessor =
|
||||
AnimNodeDescriptorFactory("BlendTree", nullptr);
|
||||
|
||||
// Load nodes
|
||||
for (size_t i = 0, n = json_data["nodes"].size(); i < n; i++) {
|
||||
|
@ -59,6 +59,7 @@ struct BlendTreeResource {
|
||||
for (AnimNodeResource* node_resource : m_nodes) {
|
||||
delete node_resource->m_anim_node;
|
||||
delete node_resource->m_socket_accessor;
|
||||
node_resource->m_socket_accessor = nullptr;
|
||||
delete node_resource;
|
||||
}
|
||||
|
||||
@ -263,6 +264,15 @@ struct StateMachineResource {
|
||||
};
|
||||
|
||||
struct AnimGraphResource : AnimNodeResource {
|
||||
virtual ~AnimGraphResource() {
|
||||
Clear();
|
||||
|
||||
if (m_socket_accessor != nullptr) {
|
||||
delete m_socket_accessor;
|
||||
m_socket_accessor = nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
std::string m_graph_type_name;
|
||||
|
||||
BlendTreeResource m_blend_tree_resource;
|
||||
@ -367,6 +377,7 @@ static inline AnimNodeResource* AnimNodeResourceFactory(
|
||||
|
||||
if (node_type_name == "BlendTree") {
|
||||
AnimGraphResource* blend_tree_resource = new AnimGraphResource();
|
||||
blend_tree_resource->m_graph_type_name = "BlendTree";
|
||||
blend_tree_resource->m_blend_tree_resource.InitGraphConnectors();
|
||||
result = blend_tree_resource;
|
||||
} else {
|
||||
|
@ -1351,4 +1351,6 @@ TEST_CASE(
|
||||
|
||||
CHECK(blend_tree_graph_resource->RegisterBlendTreeOutputSocket(socket));
|
||||
CHECK(!blend_tree_graph_resource->RegisterBlendTreeOutputSocket(socket));
|
||||
|
||||
delete blend_tree_anim_node_resource;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user