#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: DataflowNodes

#include "Basic.hpp"

#include "DataflowCore_structs.hpp"
#include "Chaos_structs.hpp"
#include "DataflowEnginePlugin_structs.hpp"
#include "CoreUObject_structs.hpp"


SDK_NAMESPACE_START

// Enum DataflowNodes.EDataflowWeightMapOverrideType
// NumValues: 0x0004
enum class EDataflowWeightMapOverrideType : uint8
{
	ReplaceAll                               = 0,
	AddDifference                            = 1,
	ReplaceChanged                           = 2,
	EDataflowWeightMapOverrideType_MAX       = 3,
};

// ScriptStruct DataflowNodes.DataflowFunctionProperty
// 0x0010 (0x0010 - 0x0000)
struct alignas(0x08) FDataflowFunctionProperty final
{
public:
	uint8                                         Pad_0[0x10];                                       // 0x0000(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataflowFunctionProperty;

// ScriptStruct DataflowNodes.DataflowPrimitiveNode
// 0x0000 (0x0280 - 0x0280)
struct FDataflowPrimitiveNode : public FDataflowNode
{
};
DUMPER7_ASSERTS_FDataflowPrimitiveNode;

// ScriptStruct DataflowNodes.ScalarVertexPropertyGroup
// 0x0008 (0x0008 - 0x0000)
struct FScalarVertexPropertyGroup final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FScalarVertexPropertyGroup;

// ScriptStruct DataflowNodes.DataflowCollectionAddScalarVertexPropertyNode
// 0x0100 (0x0380 - 0x0280)
struct FDataflowCollectionAddScalarVertexPropertyNode final : public FDataflowNode
{
public:
	struct FManagedArrayCollection                Collection;                                        // 0x0280(0x00B0)(NativeAccessSpecifierPublic)
	class FString                                 Name;                                              // 0x0330(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FCollectionAttributeKey                AttributeKey;                                      // 0x0340(0x0020)(NativeAccessSpecifierPublic)
	TArray<float>                                 VertexWeights;                                     // 0x0360(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	struct FScalarVertexPropertyGroup             TargetGroup;                                       // 0x0370(0x0008)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	EDataflowWeightMapOverrideType                OverrideType;                                      // 0x0378(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_379[0x7];                                      // 0x0379(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataflowCollectionAddScalarVertexPropertyNode;

// ScriptStruct DataflowNodes.MakeAttributeKeyDataflowNode
// 0x0040 (0x02C0 - 0x0280)
struct FMakeAttributeKeyDataflowNode final : public FDataflowNode
{
public:
	class FString                                 GroupIn;                                           // 0x0280(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 AttributeIn;                                       // 0x0290(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FCollectionAttributeKey                AttributeKeyOut;                                   // 0x02A0(0x0020)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMakeAttributeKeyDataflowNode;

// ScriptStruct DataflowNodes.BreakAttributeKeyDataflowNode
// 0x0040 (0x02C0 - 0x0280)
struct FBreakAttributeKeyDataflowNode final : public FDataflowNode
{
public:
	struct FCollectionAttributeKey                AttributeKeyIn;                                    // 0x0280(0x0020)(NativeAccessSpecifierPublic)
	class FString                                 AttributeOut;                                      // 0x02A0(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 GroupOut;                                          // 0x02B0(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBreakAttributeKeyDataflowNode;

// ScriptStruct DataflowNodes.DataflowSkinWeightData
// 0x0020 (0x0020 - 0x0000)
struct FDataflowSkinWeightData final
{
public:
	TArray<float>                                 BoneWeights;                                       // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<int32>                                 BoneIndices;                                       // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FDataflowSkinWeightData;

// ScriptStruct DataflowNodes.DataflowCollectionEditSkinWeightsNode
// 0x0168 (0x03E8 - 0x0280)
struct FDataflowCollectionEditSkinWeightsNode final : public FDataflowPrimitiveNode
{
public:
	struct FManagedArrayCollection                Collection;                                        // 0x0280(0x00B0)(NativeAccessSpecifierPublic)
	class FString                                 BoneIndicesName;                                   // 0x0330(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 BoneWeightsName;                                   // 0x0340(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FScalarVertexPropertyGroup             VertexGroup;                                       // 0x0350(0x0008)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	struct FCollectionAttributeKey                BoneIndicesKey;                                    // 0x0358(0x0020)(NativeAccessSpecifierPublic)
	struct FCollectionAttributeKey                BoneWeightsKey;                                    // 0x0378(0x0020)(NativeAccessSpecifierPublic)
	class USkeleton*                              ObjectSkeleton;                                    // 0x0398(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	bool                                          bCompressSkinWeights;                              // 0x03A0(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3A1[0x7];                                      // 0x03A1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FDataflowSkinWeightData>        SkinWeights;                                       // 0x03A8(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_3B8[0x18];                                     // 0x03B8(0x0018)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class USkeletalMesh*>                  SkeletalMeshes;                                    // 0x03D0(0x0010)(ZeroConstructor, Transient, UObjectWrapper, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_3E0[0x8];                                      // 0x03E0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataflowCollectionEditSkinWeightsNode;

// ScriptStruct DataflowNodes.FloatOverrideDataflowNode
// 0x0018 (0x0298 - 0x0280)
struct FFloatOverrideDataflowNode final : public FDataflowNode
{
public:
	class FName                                   PropertyName;                                      // 0x0280(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   KeyName;                                           // 0x0288(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         ValueOut;                                          // 0x0290(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_294[0x4];                                      // 0x0294(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FFloatOverrideDataflowNode;

// ScriptStruct DataflowNodes.SelectionSetDataflowNode
// 0x0020 (0x02A0 - 0x0280)
struct FSelectionSetDataflowNode final : public FDataflowNode
{
public:
	class FString                                 Indices;                                           // 0x0280(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<int32>                                 IndicesOut;                                        // 0x0290(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FSelectionSetDataflowNode;

// ScriptStruct DataflowNodes.GetSkeletalMeshDataflowNode
// 0x0010 (0x0290 - 0x0280)
struct FGetSkeletalMeshDataflowNode final : public FDataflowNode
{
public:
	class USkeletalMesh*                          SkeletalMesh;                                      // 0x0280(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class FName                                   PropertyName;                                      // 0x0288(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGetSkeletalMeshDataflowNode;

// ScriptStruct DataflowNodes.GetSkeletonDataflowNode
// 0x0010 (0x0290 - 0x0280)
struct FGetSkeletonDataflowNode final : public FDataflowNode
{
public:
	class USkeleton*                              Skeleton;                                          // 0x0280(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class FName                                   PropertyName;                                      // 0x0288(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGetSkeletonDataflowNode;

// ScriptStruct DataflowNodes.SkeletalMeshBoneDataflowNode
// 0x0020 (0x02A0 - 0x0280)
struct FSkeletalMeshBoneDataflowNode final : public FDataflowNode
{
public:
	class FName                                   BoneName;                                          // 0x0280(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class USkeletalMesh*                          SkeletalMesh;                                      // 0x0288(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	int32                                         BoneIndexOut;                                      // 0x0290(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FName                                   PropertyName;                                      // 0x0294(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29C[0x4];                                      // 0x029C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FSkeletalMeshBoneDataflowNode;

// ScriptStruct DataflowNodes.SkeletalMeshReferenceTransformDataflowNode
// 0x0070 (0x02F0 - 0x0280)
struct FSkeletalMeshReferenceTransformDataflowNode final : public FDataflowNode
{
public:
	class USkeletalMesh*                          SkeletalMeshIn;                                    // 0x0280(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	int32                                         BoneIndexIn;                                       // 0x0288(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_28C[0x4];                                      // 0x028C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             TransformOut;                                      // 0x0290(0x0060)(IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FSkeletalMeshReferenceTransformDataflowNode;

// ScriptStruct DataflowNodes.GetPhysicsAssetFromSkeletalMeshDataflowNode
// 0x0010 (0x0290 - 0x0280)
struct FGetPhysicsAssetFromSkeletalMeshDataflowNode final : public FDataflowNode
{
public:
	class USkeletalMesh*                          SkeletalMesh;                                      // 0x0280(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UPhysicsAsset*                          PhysicsAsset;                                      // 0x0288(0x0008)(ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
};
DUMPER7_ASSERTS_FGetPhysicsAssetFromSkeletalMeshDataflowNode;

// ScriptStruct DataflowNodes.GetStaticMeshDataflowNode
// 0x0010 (0x0290 - 0x0280)
struct FGetStaticMeshDataflowNode final : public FDataflowNode
{
public:
	class UStaticMesh*                            StaticMesh;                                        // 0x0280(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class FName                                   PropertyName;                                      // 0x0288(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGetStaticMeshDataflowNode;

SDK_NAMESPACE_END
